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) |
