summaryrefslogtreecommitdiffstats
path: root/include/linux/platform_data/leds-kirkwood-ns2.h
diff options
context:
space:
mode:
authorVincent Donnefort <vdonnefort@gmail.com>2015-07-02 19:56:40 +0200
committerJacek Anaszewski <j.anaszewski@samsung.com>2015-08-28 14:06:06 +0200
commitf7fafd083ccc340502448903aaddc76f10785c8c (patch)
tree55fefd21eb2ea7a01ab153523e3ba91d24b1c16e /include/linux/platform_data/leds-kirkwood-ns2.h
parentde88e71a91ed7c8de321b44882e0805f0b24d734 (diff)
downloadlinux-f7fafd083ccc340502448903aaddc76f10785c8c.tar.gz
linux-f7fafd083ccc340502448903aaddc76f10785c8c.tar.xz
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/leds-kirkwood-ns2.h')
-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 @@
#ifndef __LEDS_KIRKWOOD_NS2_H
#define __LEDS_KIRKWOOD_NS2_H
+enum ns2_led_modes {
+ NS_V2_LED_OFF,
+ NS_V2_LED_ON,
+ NS_V2_LED_SATA,
+};
+
+struct ns2_led_modval {
+ enum ns2_led_modes mode;
+ int cmd_level;
+ int slow_level;
+};
+
struct ns2_led {
const char *name;
const char *default_trigger;
unsigned cmd;
unsigned slow;
+ int num_modes;
+ struct ns2_led_modval *modval;
};
struct ns2_led_platform_data {