leds-lp3944.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /*
  2. * leds-lp3944.h - platform data structure for lp3944 led controller
  3. *
  4. * Copyright (C) 2009 Antonio Ospite <ospite@studenti.unina.it>
  5. *
  6. * This program is free software; you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License version 2 as
  8. * published by the Free Software Foundation.
  9. *
  10. */
  11. #ifndef __LINUX_LEDS_LP3944_H
  12. #define __LINUX_LEDS_LP3944_H
  13. #define LP3944_LED0 0
  14. #define LP3944_LED1 1
  15. #define LP3944_LED2 2
  16. #define LP3944_LED3 3
  17. #define LP3944_LED4 4
  18. #define LP3944_LED5 5
  19. #define LP3944_LED6 6
  20. #define LP3944_LED7 7
  21. #define LP3944_LEDS_MAX 8
  22. #define LP3944_LED_STATUS_MASK 0x03
  23. enum lp3944_status {
  24. LP3944_LED_STATUS_OFF = 0x0,
  25. LP3944_LED_STATUS_ON = 0x1,
  26. LP3944_LED_STATUS_DIM0 = 0x2,
  27. LP3944_LED_STATUS_DIM1 = 0x3
  28. };
  29. enum lp3944_type {
  30. LP3944_LED_TYPE_NONE,
  31. LP3944_LED_TYPE_LED,
  32. LP3944_LED_TYPE_LED_INVERTED,
  33. };
  34. struct lp3944_led {
  35. char *name;
  36. enum lp3944_type type;
  37. enum lp3944_status status;
  38. };
  39. struct lp3944_platform_data {
  40. struct lp3944_led leds[LP3944_LEDS_MAX];
  41. u8 leds_size;
  42. };
  43. #endif /* __LINUX_LEDS_LP3944_H */