diff options
| author | Vincent Donnefort <vdonnefort@gmail.com> | 2015-07-02 13:56:40 -0400 |
|---|---|---|
| committer | Jacek Anaszewski <j.anaszewski@samsung.com> | 2015-08-28 08:06:06 -0400 |
| commit | f7fafd083ccc340502448903aaddc76f10785c8c (patch) | |
| tree | 55fefd21eb2ea7a01ab153523e3ba91d24b1c16e /include/linux/platform_data | |
| parent | de88e71a91ed7c8de321b44882e0805f0b24d734 (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.h | 14 |
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 | ||
| 12 | enum ns2_led_modes { | ||
| 13 | NS_V2_LED_OFF, | ||
| 14 | NS_V2_LED_ON, | ||
| 15 | NS_V2_LED_SATA, | ||
| 16 | }; | ||
| 17 | |||
| 18 | struct ns2_led_modval { | ||
| 19 | enum ns2_led_modes mode; | ||
| 20 | int cmd_level; | ||
| 21 | int slow_level; | ||
| 22 | }; | ||
| 23 | |||
| 12 | struct ns2_led { | 24 | struct 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 | ||
| 19 | struct ns2_led_platform_data { | 33 | struct ns2_led_platform_data { |
