diff options
Diffstat (limited to 'kernel/include/linux/platform_data/leds-kirkwood-netxbig.h')
-rw-r--r-- | kernel/include/linux/platform_data/leds-kirkwood-netxbig.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/kernel/include/linux/platform_data/leds-kirkwood-netxbig.h b/kernel/include/linux/platform_data/leds-kirkwood-netxbig.h new file mode 100644 index 000000000..d2be19a51 --- /dev/null +++ b/kernel/include/linux/platform_data/leds-kirkwood-netxbig.h @@ -0,0 +1,53 @@ +/* + * Platform data structure for netxbig LED driver + * + * This file is licensed under the terms of the GNU General Public + * License version 2. This program is licensed "as is" without any + * warranty of any kind, whether express or implied. + */ + +#ifndef __LEDS_KIRKWOOD_NETXBIG_H +#define __LEDS_KIRKWOOD_NETXBIG_H + +struct netxbig_gpio_ext { + unsigned *addr; + int num_addr; + unsigned *data; + int num_data; + unsigned enable; +}; + +enum netxbig_led_mode { + NETXBIG_LED_OFF, + NETXBIG_LED_ON, + NETXBIG_LED_SATA, + NETXBIG_LED_TIMER1, + NETXBIG_LED_TIMER2, + NETXBIG_LED_MODE_NUM, +}; + +#define NETXBIG_LED_INVALID_MODE NETXBIG_LED_MODE_NUM + +struct netxbig_led_timer { + unsigned long delay_on; + unsigned long delay_off; + enum netxbig_led_mode mode; +}; + +struct netxbig_led { + const char *name; + const char *default_trigger; + int mode_addr; + int *mode_val; + int bright_addr; +}; + +struct netxbig_led_platform_data { + struct netxbig_gpio_ext *gpio_ext; + struct netxbig_led_timer *timer; + int num_timer; + struct netxbig_led *leds; + int num_leds; +}; + +#endif /* __LEDS_KIRKWOOD_NETXBIG_H */ |