Merge branch 'for-3.14-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj...
[profile/ivi/kernel-x86-ivi.git] / include / linux / leds-lp3944.h
1 /*
2  * leds-lp3944.h - platform data structure for lp3944 led controller
3  *
4  * Copyright (C) 2009 Antonio Ospite <ospite@studenti.unina.it>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  *
10  */
11
12 #ifndef __LINUX_LEDS_LP3944_H
13 #define __LINUX_LEDS_LP3944_H
14
15 #define LP3944_LED0 0
16 #define LP3944_LED1 1
17 #define LP3944_LED2 2
18 #define LP3944_LED3 3
19 #define LP3944_LED4 4
20 #define LP3944_LED5 5
21 #define LP3944_LED6 6
22 #define LP3944_LED7 7
23 #define LP3944_LEDS_MAX 8
24
25 #define LP3944_LED_STATUS_MASK  0x03
26 enum lp3944_status {
27         LP3944_LED_STATUS_OFF  = 0x0,
28         LP3944_LED_STATUS_ON   = 0x1,
29         LP3944_LED_STATUS_DIM0 = 0x2,
30         LP3944_LED_STATUS_DIM1 = 0x3
31 };
32
33 enum lp3944_type {
34         LP3944_LED_TYPE_NONE,
35         LP3944_LED_TYPE_LED,
36         LP3944_LED_TYPE_LED_INVERTED,
37 };
38
39 struct lp3944_led {
40         char *name;
41         enum lp3944_type type;
42         enum lp3944_status status;
43 };
44
45 struct lp3944_platform_data {
46         struct lp3944_led leds[LP3944_LEDS_MAX];
47         u8 leds_size;
48 };
49
50 #endif /* __LINUX_LEDS_LP3944_H */