Merge branch 'master' of git://git.denx.de/u-boot-sh
[oweals/u-boot.git] / include / backlight.h
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 #ifndef _BACKLIGHT_H
8 #define _BACKLIGHT_H
9
10 enum {
11         BACKLIGHT_MAX           = 100,
12         BACKLIGHT_MIN           = 0,
13         BACKLIGHT_OFF           = -1,
14         BACKLIGHT_DEFAULT       = -2,
15 };
16
17 struct backlight_ops {
18         /**
19          * enable() - Enable a backlight
20          *
21          * @dev:        Backlight device to enable
22          * @return 0 if OK, -ve on error
23          */
24         int (*enable)(struct udevice *dev);
25
26         /**
27          * set_brightness - Set brightness
28          *
29          * @dev:        Backlight device to update
30          * @percent:    Brightness value (0 to 100, or BACKLIGHT_... value)
31          * @return 0 if OK, -ve on error
32          */
33         int (*set_brightness)(struct udevice *dev, int percent);
34 };
35
36 #define backlight_get_ops(dev)  ((struct backlight_ops *)(dev)->driver->ops)
37
38 /**
39  * backlight_enable() - Enable a backlight
40  *
41  * @dev:        Backlight device to enable
42  * @return 0 if OK, -ve on error
43  */
44 int backlight_enable(struct udevice *dev);
45
46 /**
47  * backlight_set_brightness - Set brightness
48  *
49  * @dev:        Backlight device to update
50  * @percent:    Brightness value (0 to 100, or BACKLIGHT_... value)
51  * @return 0 if OK, -ve on error
52  */
53 int backlight_set_brightness(struct udevice *dev, int percent);
54
55 #endif