leds-lp3944.h 950 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * leds-lp3944.h - platform data structure for lp3944 led controller
  4. *
  5. * Copyright (C) 2009 Antonio Ospite <[email protected]>
  6. */
  7. #ifndef __LINUX_LEDS_LP3944_H
  8. #define __LINUX_LEDS_LP3944_H
  9. #define LP3944_LED0 0
  10. #define LP3944_LED1 1
  11. #define LP3944_LED2 2
  12. #define LP3944_LED3 3
  13. #define LP3944_LED4 4
  14. #define LP3944_LED5 5
  15. #define LP3944_LED6 6
  16. #define LP3944_LED7 7
  17. #define LP3944_LEDS_MAX 8
  18. #define LP3944_LED_STATUS_MASK 0x03
  19. enum lp3944_status {
  20. LP3944_LED_STATUS_OFF = 0x0,
  21. LP3944_LED_STATUS_ON = 0x1,
  22. LP3944_LED_STATUS_DIM0 = 0x2,
  23. LP3944_LED_STATUS_DIM1 = 0x3
  24. };
  25. enum lp3944_type {
  26. LP3944_LED_TYPE_NONE,
  27. LP3944_LED_TYPE_LED,
  28. LP3944_LED_TYPE_LED_INVERTED,
  29. };
  30. struct lp3944_led {
  31. char *name;
  32. enum lp3944_type type;
  33. enum lp3944_status status;
  34. };
  35. struct lp3944_platform_data {
  36. struct lp3944_led leds[LP3944_LEDS_MAX];
  37. u8 leds_size;
  38. };
  39. #endif /* __LINUX_LEDS_LP3944_H */