aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJamie Lentin <jm@lentin.co.uk>2012-09-10 09:51:52 -0400
committerJason Cooper <jason@lakedaemon.net>2012-09-22 10:40:58 -0400
commit1b90e06b14291ce3c252bd10e4ce981a08152e2e (patch)
tree86d5fea7ccc7a44346f3723c36be5e9d5523d032
parent55fb8b06813b190a9366fee396fac109638a9c9d (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.dtsi10
-rw-r--r--arch/arm/mach-kirkwood/board-dnskw.c26
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 */
71static struct gpio_fan_speed dnskw_fan_speed[] = {
72 { 0, 0 },
73 { 3000, 1 },
74 { 6000, 2 },
75};
76static unsigned dnskw_fan_pins[] = {46, 45};
77
78static 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
85static struct platform_device dnskw_fan_device = {
86 .name = "gpio-fan",
87 .id = -1,
88 .dev = {
89 .platform_data = &dnskw_fan_data,
90 },
91};
92
93static void dnskw_power_off(void) 69static 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)