/* * 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; int bright_max; }; 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 */