diff options
author | Andrew Lunn <andrew@lunn.ch> | 2012-11-17 03:51:05 -0500 |
---|---|---|
committer | Jason Cooper <jason@lakedaemon.net> | 2012-11-23 21:56:44 -0500 |
commit | 2c0e7ee61b335dea4bd2678591923c02703f4eeb (patch) | |
tree | 7e79c7b799dc3e68b4f3957f06163353379ebe1b | |
parent | 96ff0f5c7efd4a2205c48a76a6a1fcd2731e6128 (diff) |
ARM: Kirkwood: Convert DNSKW to use gpio-poweroff.
Also enable the gpio-poweroff driver when DT is used.
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Jamie Lentin <jm@lentin.co.uk>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
-rw-r--r-- | arch/arm/boot/dts/kirkwood-dnskw.dtsi | 5 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/Kconfig | 3 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/board-dnskw.c | 12 |
3 files changed, 8 insertions, 12 deletions
diff --git a/arch/arm/boot/dts/kirkwood-dnskw.dtsi b/arch/arm/boot/dts/kirkwood-dnskw.dtsi index fd23e63d7dbc..28263a1171ab 100644 --- a/arch/arm/boot/dts/kirkwood-dnskw.dtsi +++ b/arch/arm/boot/dts/kirkwood-dnskw.dtsi | |||
@@ -35,6 +35,11 @@ | |||
35 | 6000 2>; | 35 | 6000 2>; |
36 | }; | 36 | }; |
37 | 37 | ||
38 | gpio_poweroff { | ||
39 | compatible = "gpio-poweroff"; | ||
40 | gpios = <&gpio1 4 0>; | ||
41 | }; | ||
42 | |||
38 | ocp@f1000000 { | 43 | ocp@f1000000 { |
39 | sata@80000 { | 44 | sata@80000 { |
40 | status = "okay"; | 45 | status = "okay"; |
diff --git a/arch/arm/mach-kirkwood/Kconfig b/arch/arm/mach-kirkwood/Kconfig index d018ad4bcc3c..35b3258cdccd 100644 --- a/arch/arm/mach-kirkwood/Kconfig +++ b/arch/arm/mach-kirkwood/Kconfig | |||
@@ -46,6 +46,9 @@ config MACH_GURUPLUG | |||
46 | 46 | ||
47 | config ARCH_KIRKWOOD_DT | 47 | config ARCH_KIRKWOOD_DT |
48 | bool "Marvell Kirkwood Flattened Device Tree" | 48 | bool "Marvell Kirkwood Flattened Device Tree" |
49 | select POWER_SUPPLY | ||
50 | select POWER_RESET | ||
51 | select POWER_RESET_GPIO | ||
49 | select USE_OF | 52 | select USE_OF |
50 | help | 53 | help |
51 | Say 'Y' here if you want your kernel to support the | 54 | Say 'Y' here if you want your kernel to support the |
diff --git a/arch/arm/mach-kirkwood/board-dnskw.c b/arch/arm/mach-kirkwood/board-dnskw.c index 2ac6c60578f6..903680182453 100644 --- a/arch/arm/mach-kirkwood/board-dnskw.c +++ b/arch/arm/mach-kirkwood/board-dnskw.c | |||
@@ -57,11 +57,6 @@ static unsigned int dnskw_mpp_config[] __initdata = { | |||
57 | 0 | 57 | 0 |
58 | }; | 58 | }; |
59 | 59 | ||
60 | static void dnskw_power_off(void) | ||
61 | { | ||
62 | gpio_set_value(36, 1); | ||
63 | } | ||
64 | |||
65 | /* Register any GPIO for output and set the value */ | 60 | /* Register any GPIO for output and set the value */ |
66 | static void __init dnskw_gpio_register(unsigned gpio, char *name, int def) | 61 | static void __init dnskw_gpio_register(unsigned gpio, char *name, int def) |
67 | { | 62 | { |
@@ -80,13 +75,6 @@ void __init dnskw_init(void) | |||
80 | 75 | ||
81 | kirkwood_ge00_init(&dnskw_ge00_data); | 76 | kirkwood_ge00_init(&dnskw_ge00_data); |
82 | 77 | ||
83 | /* Register power-off GPIO. */ | ||
84 | if (gpio_request(36, "dnskw:power:off") == 0 | ||
85 | && gpio_direction_output(36, 0) == 0) | ||
86 | pm_power_off = dnskw_power_off; | ||
87 | else | ||
88 | pr_err("dnskw: failed to configure power-off GPIO\n"); | ||
89 | |||
90 | /* Ensure power is supplied to both HDDs */ | 78 | /* Ensure power is supplied to both HDDs */ |
91 | dnskw_gpio_register(39, "dnskw:power:sata0", 1); | 79 | dnskw_gpio_register(39, "dnskw:power:sata0", 1); |
92 | dnskw_gpio_register(40, "dnskw:power:sata1", 1); | 80 | dnskw_gpio_register(40, "dnskw:power:sata1", 1); |