| /* SPDX-License-Identifier: GPL-2.0+ */ |
| /* |
| * Copyright (c) 2016 Google, Inc |
| * Written by Simon Glass <sjg@chromium.org> |
| */ |
| |
| #ifndef _BACKLIGHT_H |
| #define _BACKLIGHT_H |
| |
| struct udevice; |
| |
| enum { |
| BACKLIGHT_MAX = 100, |
| BACKLIGHT_MIN = 0, |
| BACKLIGHT_OFF = -1, |
| BACKLIGHT_DEFAULT = -2, |
| }; |
| |
| struct backlight_ops { |
| /** |
| * enable() - Enable a backlight |
| * |
| * @dev: Backlight device to enable |
| * @return 0 if OK, -ve on error |
| */ |
| int (*enable)(struct udevice *dev); |
| |
| /** |
| * set_brightness - Set brightness |
| * |
| * @dev: Backlight device to update |
| * @percent: Brightness value (0 to 100, or BACKLIGHT_... value) |
| * @return 0 if OK, -ve on error |
| */ |
| int (*set_brightness)(struct udevice *dev, int percent); |
| }; |
| |
| #define backlight_get_ops(dev) ((struct backlight_ops *)(dev)->driver->ops) |
| |
| /** |
| * backlight_enable() - Enable a backlight |
| * |
| * @dev: Backlight device to enable |
| * @return 0 if OK, -ve on error |
| */ |
| int backlight_enable(struct udevice *dev); |
| |
| /** |
| * backlight_set_brightness - Set brightness |
| * |
| * @dev: Backlight device to update |
| * @percent: Brightness value (0 to 100, or BACKLIGHT_... value) |
| * @return 0 if OK, -ve on error |
| */ |
| int backlight_set_brightness(struct udevice *dev, int percent); |
| |
| #endif |