backlight.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * Copyright (c) 2016 Google, Inc
  4. * Written by Simon Glass <sjg@chromium.org>
  5. */
  6. #ifndef _BACKLIGHT_H
  7. #define _BACKLIGHT_H
  8. struct udevice;
  9. enum {
  10. BACKLIGHT_MAX = 100,
  11. BACKLIGHT_MIN = 0,
  12. BACKLIGHT_OFF = -1,
  13. BACKLIGHT_DEFAULT = -2,
  14. };
  15. struct backlight_ops {
  16. /**
  17. * enable() - Enable a backlight
  18. *
  19. * @dev: Backlight device to enable
  20. * @return 0 if OK, -ve on error
  21. */
  22. int (*enable)(struct udevice *dev);
  23. /**
  24. * set_brightness - Set brightness
  25. *
  26. * @dev: Backlight device to update
  27. * @percent: Brightness value (0 to 100, or BACKLIGHT_... value)
  28. * @return 0 if OK, -ve on error
  29. */
  30. int (*set_brightness)(struct udevice *dev, int percent);
  31. };
  32. #define backlight_get_ops(dev) ((struct backlight_ops *)(dev)->driver->ops)
  33. /**
  34. * backlight_enable() - Enable a backlight
  35. *
  36. * @dev: Backlight device to enable
  37. * @return 0 if OK, -ve on error
  38. */
  39. int backlight_enable(struct udevice *dev);
  40. /**
  41. * backlight_set_brightness - Set brightness
  42. *
  43. * @dev: Backlight device to update
  44. * @percent: Brightness value (0 to 100, or BACKLIGHT_... value)
  45. * @return 0 if OK, -ve on error
  46. */
  47. int backlight_set_brightness(struct udevice *dev, int percent);
  48. #endif