diff options
-rw-r--r-- | arch/arm/configs/orion5x_defconfig | 4 | ||||
-rw-r--r-- | arch/arm/mach-orion5x/mv2120-setup.c | 45 |
2 files changed, 47 insertions, 2 deletions
diff --git a/arch/arm/configs/orion5x_defconfig b/arch/arm/configs/orion5x_defconfig index 8a7cabfae574..9578b5d9f9c7 100644 --- a/arch/arm/configs/orion5x_defconfig +++ b/arch/arm/configs/orion5x_defconfig | |||
@@ -1077,7 +1077,7 @@ CONFIG_LEDS_CLASS=y | |||
1077 | # | 1077 | # |
1078 | # LED drivers | 1078 | # LED drivers |
1079 | # | 1079 | # |
1080 | # CONFIG_LEDS_GPIO is not set | 1080 | CONFIG_LEDS_GPIO=y |
1081 | 1081 | ||
1082 | # | 1082 | # |
1083 | # LED Triggers | 1083 | # LED Triggers |
@@ -1085,7 +1085,7 @@ CONFIG_LEDS_CLASS=y | |||
1085 | CONFIG_LEDS_TRIGGERS=y | 1085 | CONFIG_LEDS_TRIGGERS=y |
1086 | CONFIG_LEDS_TRIGGER_TIMER=y | 1086 | CONFIG_LEDS_TRIGGER_TIMER=y |
1087 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y | 1087 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y |
1088 | # CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set | 1088 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=y |
1089 | CONFIG_RTC_LIB=y | 1089 | CONFIG_RTC_LIB=y |
1090 | CONFIG_RTC_CLASS=y | 1090 | CONFIG_RTC_CLASS=y |
1091 | CONFIG_RTC_HCTOSYS=y | 1091 | CONFIG_RTC_HCTOSYS=y |
diff --git a/arch/arm/mach-orion5x/mv2120-setup.c b/arch/arm/mach-orion5x/mv2120-setup.c index f1dcad36b13c..55f3b0fdef8b 100644 --- a/arch/arm/mach-orion5x/mv2120-setup.c +++ b/arch/arm/mach-orion5x/mv2120-setup.c | |||
@@ -137,6 +137,50 @@ static struct i2c_board_info __initdata mv2120_i2c_rtc = { | |||
137 | .irq = 0, | 137 | .irq = 0, |
138 | }; | 138 | }; |
139 | 139 | ||
140 | static struct gpio_led mv2120_led_pins[] = { | ||
141 | { | ||
142 | .name = "mv2120:blue:health", | ||
143 | .gpio = 0, | ||
144 | }, | ||
145 | { | ||
146 | .name = "mv2120:red:health", | ||
147 | .gpio = 1, | ||
148 | }, | ||
149 | { | ||
150 | .name = "mv2120:led:bright", | ||
151 | .gpio = 4, | ||
152 | .default_trigger = "default-on", | ||
153 | }, | ||
154 | { | ||
155 | .name = "mv2120:led:dimmed", | ||
156 | .gpio = 5, | ||
157 | }, | ||
158 | { | ||
159 | .name = "mv2120:red:sata0", | ||
160 | .gpio = 8, | ||
161 | .active_low = 1, | ||
162 | }, | ||
163 | { | ||
164 | .name = "mv2120:red:sata1", | ||
165 | .gpio = 9, | ||
166 | .active_low = 1, | ||
167 | }, | ||
168 | |||
169 | }; | ||
170 | |||
171 | static struct gpio_led_platform_data mv2120_led_data = { | ||
172 | .leds = mv2120_led_pins, | ||
173 | .num_leds = ARRAY_SIZE(mv2120_led_pins), | ||
174 | }; | ||
175 | |||
176 | static struct platform_device mv2120_leds = { | ||
177 | .name = "leds-gpio", | ||
178 | .id = -1, | ||
179 | .dev = { | ||
180 | .platform_data = &mv2120_led_data, | ||
181 | } | ||
182 | }; | ||
183 | |||
140 | static void mv2120_power_off(void) | 184 | static void mv2120_power_off(void) |
141 | { | 185 | { |
142 | pr_info("%s: triggering power-off...\n", __func__); | 186 | pr_info("%s: triggering power-off...\n", __func__); |
@@ -172,6 +216,7 @@ static void __init mv2120_init(void) | |||
172 | gpio_free(MV2120_GPIO_RTC_IRQ); | 216 | gpio_free(MV2120_GPIO_RTC_IRQ); |
173 | } | 217 | } |
174 | i2c_register_board_info(0, &mv2120_i2c_rtc, 1); | 218 | i2c_register_board_info(0, &mv2120_i2c_rtc, 1); |
219 | platform_device_register(&mv2120_leds); | ||
175 | 220 | ||
176 | /* register mv2120 specific power-off method */ | 221 | /* register mv2120 specific power-off method */ |
177 | if (gpio_request(MV2120_GPIO_POWER_OFF, "POWEROFF") != 0 || | 222 | if (gpio_request(MV2120_GPIO_POWER_OFF, "POWEROFF") != 0 || |