diff mbox

[2/2] ARM: kirkwood: use gpio-fan DT binding on lsxl

Message ID 1350776094-16778-2-git-send-email-michael@walle.cc (mailing list archive)
State New, archived
Headers show

Commit Message

Michael Walle Oct. 20, 2012, 11:34 p.m. UTC
Remove board specific gpio-fan driver registration. Moved into device tree.

Signed-off-by: Michael Walle <michael@walle.cc>
---
 arch/arm/boot/dts/kirkwood-lsxl.dtsi |   11 ++++++++
 arch/arm/mach-kirkwood/board-lsxl.c  |   47 ----------------------------------
 2 files changed, 11 insertions(+), 47 deletions(-)

Comments

Andrew Lunn Oct. 21, 2012, 6:55 a.m. UTC | #1
On Sun, Oct 21, 2012 at 01:34:54AM +0200, Michael Walle wrote:
> Remove board specific gpio-fan driver registration. Moved into device tree.
> 
> Signed-off-by: Michael Walle <michael@walle.cc>
> ---
>  arch/arm/boot/dts/kirkwood-lsxl.dtsi |   11 ++++++++
>  arch/arm/mach-kirkwood/board-lsxl.c  |   47 ----------------------------------
>  2 files changed, 11 insertions(+), 47 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/kirkwood-lsxl.dtsi b/arch/arm/boot/dts/kirkwood-lsxl.dtsi
> index 8fea375..798e60e 100644
> --- a/arch/arm/boot/dts/kirkwood-lsxl.dtsi
> +++ b/arch/arm/boot/dts/kirkwood-lsxl.dtsi
> @@ -94,4 +94,15 @@
>  			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>;
> +	};
>  };
> diff --git a/arch/arm/mach-kirkwood/board-lsxl.c b/arch/arm/mach-kirkwood/board-lsxl.c
> index 64e5cc6..7e18cad 100644
> --- a/arch/arm/mach-kirkwood/board-lsxl.c
> +++ b/arch/arm/mach-kirkwood/board-lsxl.c
> @@ -16,7 +16,6 @@
>  #include <linux/platform_device.h>
>  #include <linux/mv643xx_eth.h>
>  #include <linux/gpio.h>
> -#include <linux/gpio-fan.h>
>  #include "common.h"
>  #include "mpp.h"

Hi Michael

You might also be able to remove platform_device.h.

Otherwise, it looks good.

	   Andrew
Michael Walle Oct. 21, 2012, 1:59 p.m. UTC | #2
Am Sonntag 21 Oktober 2012, 08:55:52 schrieb Andrew Lunn:
> On Sun, Oct 21, 2012 at 01:34:54AM +0200, Michael Walle wrote:
> > Remove board specific gpio-fan driver registration. Moved into device
> > tree.
> > 
> > Signed-off-by: Michael Walle <michael@walle.cc>
> > ---
> > 
> >  arch/arm/boot/dts/kirkwood-lsxl.dtsi |   11 ++++++++
> >  arch/arm/mach-kirkwood/board-lsxl.c  |   47
> >  ---------------------------------- 2 files changed, 11 insertions(+),
> >  47 deletions(-)
> > 
> > diff --git a/arch/arm/boot/dts/kirkwood-lsxl.dtsi
> > b/arch/arm/boot/dts/kirkwood-lsxl.dtsi index 8fea375..798e60e 100644
> > --- a/arch/arm/boot/dts/kirkwood-lsxl.dtsi
> > +++ b/arch/arm/boot/dts/kirkwood-lsxl.dtsi
> > @@ -94,4 +94,15 @@
> > 
> >  			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>;
> > +	};
> > 
> >  };
> > 
> > diff --git a/arch/arm/mach-kirkwood/board-lsxl.c
> > b/arch/arm/mach-kirkwood/board-lsxl.c index 64e5cc6..7e18cad 100644
> > --- a/arch/arm/mach-kirkwood/board-lsxl.c
> > +++ b/arch/arm/mach-kirkwood/board-lsxl.c
> > @@ -16,7 +16,6 @@
> > 
> >  #include <linux/platform_device.h>
> >  #include <linux/mv643xx_eth.h>
> >  #include <linux/gpio.h>
> > 
> > -#include <linux/gpio-fan.h>
> > 
> >  #include "common.h"
> >  #include "mpp.h"
> 
> Hi Michael
> 
> You might also be able to remove platform_device.h.

Mh, pm_power_off, although defined in linux/pm.h, is somehow pulled with this 
include. So either we leave it that way (looking at other boards only a few 
has included pm.h) or i'll post a third patch which replaces that include.
Andrew Lunn Oct. 21, 2012, 5:59 p.m. UTC | #3
> > Hi Michael
> > 
> > You might also be able to remove platform_device.h.
> 
> Mh, pm_power_off, although defined in linux/pm.h, is somehow pulled with this 
> include. So either we leave it that way (looking at other boards only a few 
> has included pm.h) or i'll post a third patch which replaces that include.

O.K, leave it as it is.

I hope to look at a DT solution for pm_power_off sometime soon.

  Andrew
Jason Cooper Oct. 22, 2012, 3:07 a.m. UTC | #4
On Sun, Oct 21, 2012 at 01:34:54AM +0200, Michael Walle wrote:
> Remove board specific gpio-fan driver registration. Moved into device tree.
> 
> Signed-off-by: Michael Walle <michael@walle.cc>
> ---
>  arch/arm/boot/dts/kirkwood-lsxl.dtsi |   11 ++++++++
>  arch/arm/mach-kirkwood/board-lsxl.c  |   47 ----------------------------------
>  2 files changed, 11 insertions(+), 47 deletions(-)

Applied to:

git://git.infradead.org/users/jcooper/linux.git kirkwood/boards

thx,

Jason.
diff mbox

Patch

diff --git a/arch/arm/boot/dts/kirkwood-lsxl.dtsi b/arch/arm/boot/dts/kirkwood-lsxl.dtsi
index 8fea375..798e60e 100644
--- a/arch/arm/boot/dts/kirkwood-lsxl.dtsi
+++ b/arch/arm/boot/dts/kirkwood-lsxl.dtsi
@@ -94,4 +94,15 @@ 
 			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>;
+	};
 };
diff --git a/arch/arm/mach-kirkwood/board-lsxl.c b/arch/arm/mach-kirkwood/board-lsxl.c
index 64e5cc6..7e18cad 100644
--- a/arch/arm/mach-kirkwood/board-lsxl.c
+++ b/arch/arm/mach-kirkwood/board-lsxl.c
@@ -16,7 +16,6 @@ 
 #include <linux/platform_device.h>
 #include <linux/mv643xx_eth.h>
 #include <linux/gpio.h>
-#include <linux/gpio-fan.h>
 #include "common.h"
 #include "mpp.h"
 
@@ -45,51 +44,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
@@ -120,7 +74,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;