2018-05-06 21:58:06 +00:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0+ */
|
2016-01-22 02:44:56 +00:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2016 Google, Inc
|
|
|
|
* Written by Simon Glass <sjg@chromium.org>
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _BACKLIGHT_H
|
|
|
|
#define _BACKLIGHT_H
|
|
|
|
|
2020-10-31 03:38:53 +00:00
|
|
|
struct udevice;
|
|
|
|
|
2018-10-01 18:22:41 +00:00
|
|
|
enum {
|
|
|
|
BACKLIGHT_MAX = 100,
|
|
|
|
BACKLIGHT_MIN = 0,
|
|
|
|
BACKLIGHT_OFF = -1,
|
|
|
|
BACKLIGHT_DEFAULT = -2,
|
|
|
|
};
|
|
|
|
|
2016-01-22 02:44:56 +00:00
|
|
|
struct backlight_ops {
|
|
|
|
/**
|
|
|
|
* enable() - Enable a backlight
|
|
|
|
*
|
|
|
|
* @dev: Backlight device to enable
|
|
|
|
* @return 0 if OK, -ve on error
|
|
|
|
*/
|
|
|
|
int (*enable)(struct udevice *dev);
|
2018-10-01 18:22:41 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 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);
|
2016-01-22 02:44:56 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#define backlight_get_ops(dev) ((struct backlight_ops *)(dev)->driver->ops)
|
|
|
|
|
|
|
|
/**
|
|
|
|
* backlight_enable() - Enable a backlight
|
|
|
|
*
|
|
|
|
* @dev: Backlight device to enable
|
2022-01-19 17:05:50 +00:00
|
|
|
* Return: 0 if OK, -ve on error
|
2016-01-22 02:44:56 +00:00
|
|
|
*/
|
|
|
|
int backlight_enable(struct udevice *dev);
|
|
|
|
|
2018-10-01 18:22:41 +00:00
|
|
|
/**
|
|
|
|
* backlight_set_brightness - Set brightness
|
|
|
|
*
|
|
|
|
* @dev: Backlight device to update
|
|
|
|
* @percent: Brightness value (0 to 100, or BACKLIGHT_... value)
|
2022-01-19 17:05:50 +00:00
|
|
|
* Return: 0 if OK, -ve on error
|
2018-10-01 18:22:41 +00:00
|
|
|
*/
|
|
|
|
int backlight_set_brightness(struct udevice *dev, int percent);
|
|
|
|
|
2016-01-22 02:44:56 +00:00
|
|
|
#endif
|