Subject: [PATCH 9/9] ARM: Kirkwood: Convert IX2-200 to pinctrl.

From: [email-masked] (Andrew Lunn)
Date: Wed, 24 Oct 2012 22:20:10 +0200

On Wed, Oct 24, 2012 at 10:04:29PM +0200, Thomas Petazzoni wrote:
> Andrew,
> 
> On Wed, 24 Oct 2012 16:53:54 +0200, Andrew Lunn wrote:
> > Signed-off-by: Andrew Lunn <[email-masked]>
> > ---
> >  arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts |   90 +++++++++++++++++++++++++
> >  arch/arm/mach-kirkwood/board-iomega_ix2_200.c |   24 -------
> >  2 files changed, 90 insertions(+), 24 deletions(-)
> > 
> > diff --git a/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts b/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts
> > index 865aeec..d8fa8e8 100644
> > --- a/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts
> > +++ b/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts
> > @@ -16,6 +16,96 @@
> >  	};
> >  
> >  	ocp at f1000000 {
> > +		pinctrl: pinctrl at 10000 {
> > +			compatible = "marvell,88f6281-pinctrl";
> > +			reg = <0x10000 0x20>;
> 
> This definition (compatible + reg) should go in kirkwood.dtsi. The
> pinctrl unit should be declared at the SoC level. Ditto for all other
> patches.

The reg maybe. Compatibility not. We need to tell pinctrl which of the
5 different variants of kirkwood this particular kirkwood is. See

drivers/pinctrl/pinctrl-kirkwood.c

enum kirkwood_variant {
        VARIANT_MV88F6180 = V(1, 0, 0, 0, 0),
        VARIANT_MV88F6190 = V(0, 1, 0, 0, 0),
        VARIANT_MV88F6192 = V(0, 0, 1, 0, 0),
        VARIANT_MV88F6281 = V(0, 0, 0, 1, 0),
        VARIANT_MV88F6282 = V(0, 0, 0, 0, 1),
};

static struct of_device_id kirkwood_pinctrl_of_match[] __devinitdata = {
        { .compatible = "marvell,88f6180-pinctrl", .data = &mv88f6180_info },
        { .compatible = "marvell,88f6190-pinctrl", .data = &mv88f6190_info },
        { .compatible = "marvell,88f6192-pinctrl", .data = &mv88f6192_info },
        { .compatible = "marvell,88f6281-pinctrl", .data = &mv88f6281_info },
        { .compatible = "marvell,88f6282-pinctrl", .data = &mv88f6282_info },
        { }
};

What SoC is mounted on a board is a property of the board....

     Andrew