diff options
author | Jamie Lentin <jm@lentin.co.uk> | 2012-09-10 09:51:52 -0400 |
---|---|---|
committer | Jason Cooper <jason@lakedaemon.net> | 2012-09-22 10:40:58 -0400 |
commit | 1b90e06b14291ce3c252bd10e4ce981a08152e2e (patch) | |
tree | 86d5fea7ccc7a44346f3723c36be5e9d5523d032 | |
parent | 55fb8b06813b190a9366fee396fac109638a9c9d (diff) |
ARM: kirkwood: Use devicetree to define DNS-32[05] fan
Remove more board-specific code by using devicetree to define the fan
attached to both boards.
Signed-off-by: Jamie Lentin <jm@lentin.co.uk>
Acked-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
-rw-r--r-- | arch/arm/boot/dts/kirkwood-dnskw.dtsi | 10 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/board-dnskw.c | 26 |
2 files changed, 10 insertions, 26 deletions
diff --git a/arch/arm/boot/dts/kirkwood-dnskw.dtsi b/arch/arm/boot/dts/kirkwood-dnskw.dtsi index 7408655f91b5..9b32d0272825 100644 --- a/arch/arm/boot/dts/kirkwood-dnskw.dtsi +++ b/arch/arm/boot/dts/kirkwood-dnskw.dtsi | |||
@@ -25,6 +25,16 @@ | |||
25 | }; | 25 | }; |
26 | }; | 26 | }; |
27 | 27 | ||
28 | gpio_fan { | ||
29 | /* Fan: ADDA AD045HB-G73 40mm 6000rpm@5v */ | ||
30 | compatible = "gpio-fan"; | ||
31 | gpios = <&gpio1 14 1 | ||
32 | &gpio1 13 1>; | ||
33 | gpio-fan,speed-map = <0 0 | ||
34 | 3000 1 | ||
35 | 6000 2>; | ||
36 | }; | ||
37 | |||
28 | ocp@f1000000 { | 38 | ocp@f1000000 { |
29 | sata@80000 { | 39 | sata@80000 { |
30 | status = "okay"; | 40 | status = "okay"; |
diff --git a/arch/arm/mach-kirkwood/board-dnskw.c b/arch/arm/mach-kirkwood/board-dnskw.c index 4ab35065a144..6ac7a8dc7b78 100644 --- a/arch/arm/mach-kirkwood/board-dnskw.c +++ b/arch/arm/mach-kirkwood/board-dnskw.c | |||
@@ -19,7 +19,6 @@ | |||
19 | #include <linux/of.h> | 19 | #include <linux/of.h> |
20 | #include <linux/gpio.h> | 20 | #include <linux/gpio.h> |
21 | #include <linux/input.h> | 21 | #include <linux/input.h> |
22 | #include <linux/gpio-fan.h> | ||
23 | #include <linux/leds.h> | 22 | #include <linux/leds.h> |
24 | #include <asm/mach-types.h> | 23 | #include <asm/mach-types.h> |
25 | #include <asm/mach/arch.h> | 24 | #include <asm/mach/arch.h> |
@@ -67,29 +66,6 @@ static unsigned int dnskw_mpp_config[] __initdata = { | |||
67 | 0 | 66 | 0 |
68 | }; | 67 | }; |
69 | 68 | ||
70 | /* Fan: ADDA AD045HB-G73 40mm 6000rpm@5v */ | ||
71 | static struct gpio_fan_speed dnskw_fan_speed[] = { | ||
72 | { 0, 0 }, | ||
73 | { 3000, 1 }, | ||
74 | { 6000, 2 }, | ||
75 | }; | ||
76 | static unsigned dnskw_fan_pins[] = {46, 45}; | ||
77 | |||
78 | static struct gpio_fan_platform_data dnskw_fan_data = { | ||
79 | .num_ctrl = ARRAY_SIZE(dnskw_fan_pins), | ||
80 | .ctrl = dnskw_fan_pins, | ||
81 | .num_speed = ARRAY_SIZE(dnskw_fan_speed), | ||
82 | .speed = dnskw_fan_speed, | ||
83 | }; | ||
84 | |||
85 | static struct platform_device dnskw_fan_device = { | ||
86 | .name = "gpio-fan", | ||
87 | .id = -1, | ||
88 | .dev = { | ||
89 | .platform_data = &dnskw_fan_data, | ||
90 | }, | ||
91 | }; | ||
92 | |||
93 | static void dnskw_power_off(void) | 69 | static void dnskw_power_off(void) |
94 | { | 70 | { |
95 | gpio_set_value(36, 1); | 71 | gpio_set_value(36, 1); |
@@ -114,8 +90,6 @@ void __init dnskw_init(void) | |||
114 | kirkwood_ehci_init(); | 90 | kirkwood_ehci_init(); |
115 | kirkwood_ge00_init(&dnskw_ge00_data); | 91 | kirkwood_ge00_init(&dnskw_ge00_data); |
116 | 92 | ||
117 | platform_device_register(&dnskw_fan_device); | ||
118 | |||
119 | /* Register power-off GPIO. */ | 93 | /* Register power-off GPIO. */ |
120 | if (gpio_request(36, "dnskw:power:off") == 0 | 94 | if (gpio_request(36, "dnskw:power:off") == 0 |
121 | && gpio_direction_output(36, 0) == 0) | 95 | && gpio_direction_output(36, 0) == 0) |