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