1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3 * Copyright (c) 2016 Google, Inc
4 * Written by Simon Glass <sjg@chromium.org>
5 */
6
7 #include <common.h>
8 #include <dm.h>
9 #include <panel.h>
10
panel_enable_backlight(struct udevice * dev)11 int panel_enable_backlight(struct udevice *dev)
12 {
13 struct panel_ops *ops = panel_get_ops(dev);
14
15 if (!ops->enable_backlight)
16 return -ENOSYS;
17
18 return ops->enable_backlight(dev);
19 }
20
21 /**
22 * panel_set_backlight - Set brightness for the panel backlight
23 *
24 * @dev: Panel device containing the backlight to update
25 * @percent: Brightness value (0=off, 1=min brightness,
26 * 100=full brightness)
27 * @return 0 if OK, -ve on error
28 */
panel_set_backlight(struct udevice * dev,int percent)29 int panel_set_backlight(struct udevice *dev, int percent)
30 {
31 struct panel_ops *ops = panel_get_ops(dev);
32
33 if (!ops->set_backlight)
34 return -ENOSYS;
35
36 return ops->set_backlight(dev, percent);
37 }
38
panel_get_display_timing(struct udevice * dev,struct display_timing * timings)39 int panel_get_display_timing(struct udevice *dev,
40 struct display_timing *timings)
41 {
42 struct panel_ops *ops = panel_get_ops(dev);
43
44 if (!ops->get_display_timing)
45 return -ENOSYS;
46
47 return ops->get_display_timing(dev, timings);
48 }
49
50 UCLASS_DRIVER(panel) = {
51 .id = UCLASS_PANEL,
52 .name = "panel",
53 };
54