ARM: kirkwood: use gpio-fan DT binding on lsxl
authorMichael Walle <michael@walle.cc>
Sat, 20 Oct 2012 23:34:54 +0000 (01:34 +0200)
committerJason Cooper <jason@lakedaemon.net>
Wed, 21 Nov 2012 20:59:05 +0000 (20:59 +0000)
Remove board specific gpio-fan driver registration. Moved into device tree.

Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
arch/arm/boot/dts/kirkwood-lsxl.dtsi
arch/arm/mach-kirkwood/board-lsxl.c

index 8fea375c734d75e99ad06adac9f65f5413989285..798e60eeedf3bb0abbf0acfd2c5d997c364fe0d2 100644 (file)
                        gpios = <&gpio1 16 1>;
                };
        };
+
+       gpio_fan {
+               compatible = "gpio-fan";
+               gpios = <&gpio0 19 1
+                        &gpio0 18 1>;
+               gpio-fan,speed-map = <0    3
+                                     1500 2
+                                     3250 1
+                                     5000 0>;
+               alarm-gpios = <&gpio1 8 0>;
+       };
 };
index 83d8975592f8b40028a48a1d50dfde1e3dc430b1..a29b8bff103d44f8f7462457dcf988437d8137fe 100644 (file)
 #include <linux/spi/spi.h>
 #include <linux/mv643xx_eth.h>
 #include <linux/gpio.h>
-#include <linux/gpio-fan.h>
-#include <linux/input.h>
-#include <asm/mach-types.h>
-#include <asm/mach/arch.h>
-#include <mach/kirkwood.h>
 #include "common.h"
 #include "mpp.h"
 
@@ -53,51 +48,6 @@ static unsigned int lsxl_mpp_config[] __initdata = {
        0
 };
 
-#define LSXL_GPIO_FAN_HIGH     18
-#define LSXL_GPIO_FAN_LOW      19
-#define LSXL_GPIO_FAN_LOCK     40
-
-static struct gpio_fan_alarm lsxl_alarm = {
-       .gpio = LSXL_GPIO_FAN_LOCK,
-};
-
-static struct gpio_fan_speed lsxl_speeds[] = {
-       {
-               .rpm = 0,
-               .ctrl_val = 3,
-       }, {
-               .rpm = 1500,
-               .ctrl_val = 1,
-       }, {
-               .rpm = 3250,
-               .ctrl_val = 2,
-       }, {
-               .rpm = 5000,
-               .ctrl_val = 0,
-       }
-};
-
-static int lsxl_gpio_list[] = {
-       LSXL_GPIO_FAN_HIGH, LSXL_GPIO_FAN_LOW,
-};
-
-static struct gpio_fan_platform_data lsxl_fan_data = {
-       .num_ctrl = ARRAY_SIZE(lsxl_gpio_list),
-       .ctrl = lsxl_gpio_list,
-       .alarm = &lsxl_alarm,
-       .num_speed = ARRAY_SIZE(lsxl_speeds),
-       .speed = lsxl_speeds,
-};
-
-static struct platform_device lsxl_fan_device = {
-       .name = "gpio-fan",
-       .id = -1,
-       .num_resources = 0,
-       .dev = {
-               .platform_data = &lsxl_fan_data,
-       },
-};
-
 /*
  * On the LS-XHL/LS-CHLv2, the shutdown process is following:
  * - Userland monitors key events until the power switch goes to off position
@@ -128,7 +78,6 @@ void __init lsxl_init(void)
        kirkwood_ehci_init();
        kirkwood_ge00_init(&lsxl_ge00_data);
        kirkwood_ge01_init(&lsxl_ge01_data);
-       platform_device_register(&lsxl_fan_device);
 
        /* register power-off method */
        pm_power_off = lsxl_power_off;