]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - include/linux/platform_data/leds-kirkwood-netxbig.h
Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[karo-tx-linux.git] / include / linux / platform_data / leds-kirkwood-netxbig.h
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
12 struct netxbig_gpio_ext {
13         unsigned        *addr;
14         int             num_addr;
15         unsigned        *data;
16         int             num_data;
17         unsigned        enable;
18 };
19
20 enum 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
31 struct netxbig_led_timer {
32         unsigned long           delay_on;
33         unsigned long           delay_off;
34         enum netxbig_led_mode   mode;
35 };
36
37 struct 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
46 struct 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 */