diff options
author | Sean MacLennan <smaclennan@pikatech.com> | 2009-06-28 07:22:51 -0400 |
---|---|---|
committer | Josh Boyer <jwboyer@linux.vnet.ibm.com> | 2009-07-06 08:56:01 -0400 |
commit | ba703e1a7a0b32f740bcfba8e60ad193afa4e723 (patch) | |
tree | 3d1308bd92ce7dc948da99314dcc03371281dcbb | |
parent | 7c3a742a86055df1d18aac25bb8652735b3491ef (diff) |
powerpc/4xx: Have Warp take advantage of GPIO LEDs default-state = keep
The GPIO LEDS driver now has a default state of "keep". Update the Warp DTS
and platform file to take advantage of this new state. This removes the
hardcoding of the two LEDs on the Warp.
Signed-off-by: Sean MacLennan <smaclennan@pikatech.com>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
-rw-r--r-- | arch/powerpc/boot/dts/warp.dts | 3 | ||||
-rw-r--r-- | arch/powerpc/platforms/44x/warp.c | 16 |
2 files changed, 6 insertions, 13 deletions
diff --git a/arch/powerpc/boot/dts/warp.dts b/arch/powerpc/boot/dts/warp.dts index 01bfb56bbe80..31605ee4afb6 100644 --- a/arch/powerpc/boot/dts/warp.dts +++ b/arch/powerpc/boot/dts/warp.dts | |||
@@ -261,10 +261,11 @@ | |||
261 | compatible = "gpio-leds"; | 261 | compatible = "gpio-leds"; |
262 | green { | 262 | green { |
263 | gpios = <&GPIO1 0 0>; | 263 | gpios = <&GPIO1 0 0>; |
264 | default-state = "on"; | 264 | default-state = "keep"; |
265 | }; | 265 | }; |
266 | red { | 266 | red { |
267 | gpios = <&GPIO1 1 0>; | 267 | gpios = <&GPIO1 1 0>; |
268 | default-state = "keep"; | ||
268 | }; | 269 | }; |
269 | }; | 270 | }; |
270 | 271 | ||
diff --git a/arch/powerpc/platforms/44x/warp.c b/arch/powerpc/platforms/44x/warp.c index 0362c88f47d7..9916b391971e 100644 --- a/arch/powerpc/platforms/44x/warp.c +++ b/arch/powerpc/platforms/44x/warp.c | |||
@@ -64,8 +64,6 @@ define_machine(warp) { | |||
64 | }; | 64 | }; |
65 | 65 | ||
66 | 66 | ||
67 | static u32 post_info; | ||
68 | |||
69 | static int __init warp_post_info(void) | 67 | static int __init warp_post_info(void) |
70 | { | 68 | { |
71 | struct device_node *np; | 69 | struct device_node *np; |
@@ -87,10 +85,9 @@ static int __init warp_post_info(void) | |||
87 | 85 | ||
88 | iounmap(fpga); | 86 | iounmap(fpga); |
89 | 87 | ||
90 | if (post1 || post2) { | 88 | if (post1 || post2) |
91 | printk(KERN_INFO "Warp POST %08x %08x\n", post1, post2); | 89 | printk(KERN_INFO "Warp POST %08x %08x\n", post1, post2); |
92 | post_info = 1; | 90 | else |
93 | } else | ||
94 | printk(KERN_INFO "Warp POST OK\n"); | 91 | printk(KERN_INFO "Warp POST OK\n"); |
95 | 92 | ||
96 | return 0; | 93 | return 0; |
@@ -179,15 +176,10 @@ static int pika_setup_leds(void) | |||
179 | } | 176 | } |
180 | 177 | ||
181 | for_each_child_of_node(np, child) | 178 | for_each_child_of_node(np, child) |
182 | if (strcmp(child->name, "green") == 0) { | 179 | if (strcmp(child->name, "green") == 0) |
183 | green_led = of_get_gpio(child, 0); | 180 | green_led = of_get_gpio(child, 0); |
184 | /* Turn back on the green LED */ | 181 | else if (strcmp(child->name, "red") == 0) |
185 | gpio_set_value(green_led, 1); | ||
186 | } else if (strcmp(child->name, "red") == 0) { | ||
187 | red_led = of_get_gpio(child, 0); | 182 | red_led = of_get_gpio(child, 0); |
188 | /* Set based on post */ | ||
189 | gpio_set_value(red_led, post_info); | ||
190 | } | ||
191 | 183 | ||
192 | of_node_put(np); | 184 | of_node_put(np); |
193 | 185 | ||