aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/platform_data
diff options
context:
space:
mode:
authorVincent Donnefort <vdonnefort@gmail.com>2015-07-02 13:56:40 -0400
committerJacek Anaszewski <j.anaszewski@samsung.com>2015-08-28 08:06:06 -0400
commitf7fafd083ccc340502448903aaddc76f10785c8c (patch)
tree55fefd21eb2ea7a01ab153523e3ba91d24b1c16e /include/linux/platform_data
parentde88e71a91ed7c8de321b44882e0805f0b24d734 (diff)
leds: leds-ns2: move LED modes mapping outside of the driver
On the board n090401 (Seagate NAS 4-Bay), the LED mode mapping (GPIO values to LED mode) is different from the one used on other boards supported by the leds-ns2 driver. With this patch the hardcoded mapping is removed from leds-ns2. Now, it must be defined either in the platform data (if an old-fashion board setup file is used) or in the DT node. In order to allow the later, this patch also introduces a modes-map property for the leds-ns2 DT binding. Signed-off-by: Vincent Donnefort <vdonnefort@gmail.com> Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
Diffstat (limited to 'include/linux/platform_data')
-rw-r--r--include/linux/platform_data/leds-kirkwood-ns2.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/linux/platform_data/leds-kirkwood-ns2.h b/include/linux/platform_data/leds-kirkwood-ns2.h
index 6a9fed57f346..eb8a6860e816 100644
--- a/include/linux/platform_data/leds-kirkwood-ns2.h
+++ b/include/linux/platform_data/leds-kirkwood-ns2.h
@@ -9,11 +9,25 @@
9#ifndef __LEDS_KIRKWOOD_NS2_H 9#ifndef __LEDS_KIRKWOOD_NS2_H
10#define __LEDS_KIRKWOOD_NS2_H 10#define __LEDS_KIRKWOOD_NS2_H
11 11
12enum ns2_led_modes {
13 NS_V2_LED_OFF,
14 NS_V2_LED_ON,
15 NS_V2_LED_SATA,
16};
17
18struct ns2_led_modval {
19 enum ns2_led_modes mode;
20 int cmd_level;
21 int slow_level;
22};
23
12struct ns2_led { 24struct ns2_led {
13 const char *name; 25 const char *name;
14 const char *default_trigger; 26 const char *default_trigger;
15 unsigned cmd; 27 unsigned cmd;
16 unsigned slow; 28 unsigned slow;
29 int num_modes;
30 struct ns2_led_modval *modval;
17}; 31};
18 32
19struct ns2_led_platform_data { 33struct ns2_led_platform_data {