linux/include/linux/platform_data/leds-kirkwood-netxbig.h
<<
>>
Prefs
   1/*
   2 * Platform data structure for netxbig LED driver
   3 *
   4 * This file is licensed under the terms of the GNU General Public
   5 * License version 2.  This program is licensed "as is" without any
   6 * warranty of any kind, whether express or implied.
   7 */
   8
   9#ifndef __LEDS_KIRKWOOD_NETXBIG_H
  10#define __LEDS_KIRKWOOD_NETXBIG_H
  11
  12struct netxbig_gpio_ext {
  13        unsigned        *addr;
  14        int             num_addr;
  15        unsigned        *data;
  16        int             num_data;
  17        unsigned        enable;
  18};
  19
  20enum netxbig_led_mode {
  21        NETXBIG_LED_OFF,
  22        NETXBIG_LED_ON,
  23        NETXBIG_LED_SATA,
  24        NETXBIG_LED_TIMER1,
  25        NETXBIG_LED_TIMER2,
  26        NETXBIG_LED_MODE_NUM,
  27};
  28
  29#define NETXBIG_LED_INVALID_MODE NETXBIG_LED_MODE_NUM
  30
  31struct netxbig_led_timer {
  32        unsigned long           delay_on;
  33        unsigned long           delay_off;
  34        enum netxbig_led_mode   mode;
  35};
  36
  37struct netxbig_led {
  38        const char      *name;
  39        const char      *default_trigger;
  40        int             mode_addr;
  41        int             *mode_val;
  42        int             bright_addr;
  43        int             bright_max;
  44};
  45
  46struct netxbig_led_platform_data {
  47        struct netxbig_gpio_ext *gpio_ext;
  48        struct netxbig_led_timer *timer;
  49        int                     num_timer;
  50        struct netxbig_led      *leds;
  51        int                     num_leds;
  52};
  53
  54#endif /* __LEDS_KIRKWOOD_NETXBIG_H */
  55