[PATCH 00/10] pinctrl: mvebu: remove hard-coded addresses from Dove pinctrl

Jason Cooper jason at lakedaemon.net
Tue Feb 25 15:04:47 EST 2014


Sebastian,

On Tue, Feb 25, 2014 at 08:23:35PM +0100, Sebastian Hesselbarth wrote:
> [Cooked down Cc list to relevant people and added Ezequiel who agreed
> to test on Armada 375/38x.]
> 
> On 02/25/2014 04:43 PM, Jason Cooper wrote:
> >On Tue, Feb 25, 2014 at 04:30:45PM +0100, Sebastian Hesselbarth wrote:
> >>On 02/25/14 16:16, Jason Cooper wrote:
> >>>On Tue, Feb 25, 2014 at 10:36:54AM +0100, Linus Walleij wrote:
> >>>>On Mon, Feb 24, 2014 at 7:10 PM, Jason Cooper <jason at lakedaemon.net> wrote:
> >>>>>I've now created mvebu/pinctrl-dove for this series.  It's based on
> >>>>>v3.14-rc1, and depends on mvebu/pinctrl (which depends on
> >>>>>mvebu/pinctrl-3xx).
> >>>>>
> >>>>>I've kept this series in a separate branch in case we encounter an
> >>>>>unforeseen problem with something in here.  Then this branch can be
> >>>>>dropped, and /pinctrl-3xx and /pinctrl will still make it in.
> >>>>>
> >>>>>So, all patches except 3 and 4 are in mvebu/pinctrl-dove.  3 and 4 are
> >>>>>in mvebu/dt.
> >>>>
> >>>>OK so what should I be pulling in first now?
> >>>
> >>>Of course I woke up this morning not happy with this :-/  Here's what it
> >>>looks like currently:
> >>>
> >>>   /v3.14-rc1
> >>>   |
> >>>--+---+---+---+---+ mvebu/pinctrl-3xx
> >>>   |               \
> >>>   |---+---+---+---+---+---+---+ mvebu/pinctrl
> >>>   \                           \
> >>>    \---------------------------+---+---+---+ mvebu/pinctrl-dove
> >>>
> >>>Not to scale.
> >>>
> >>>
> >>>I would prefer to do:
> >>>
> >>>   /v3.14-rc1
> >>>   |
> >>>--+---+---+---+---+ mvebu/pinctrl-cleanup
> >>>   |               \
> >>>   |----------------+--+---+---+ mvebu/pinctrl-3xx
> >>>   \                \
> >>>    \----------------+---+---+--+---+---+---+ mvebu/pinctrl-dove
> >>>
> >>>But this would mean moving some patches to branches other than what they
> >>>were sent with.  The advantage is that /pinctrl-3xx and /pinctrl-dove
> >>>don't depend on each other, and only depend on -cleanup.  Which is great
> >>>if there is something wrong in either branch.
> >>>
> >>>Sebastian, I can cherry-pick the patches around, but you know the code
> >>>better than any of us, do you foresee any problems with this scenario?
> >>
> >>If Thomas agrees, I can rework Armada 375/38x pinctrl stubs to fit on
> >>mvebu/pinctrl. That should allow you to have mvebu/pinctrl-dove
> >>independent of mvebu/pinctrl-3xx.
> >>
> >>Not a big deal, I'd just pick 375/38x patches from mvebu/pinctrl and
> >>squash them into mvebu/pinctrl-3xx. The only "issue" is that DT
> >>documentation update patches from mvebu/pinctrl-dove have to be split
> >>too.
> >>
> >>I'll prepare the three new branches for you and Thomas to look at
> >>today.
> >
> >Ok, great.  Thanks Sebastian!
> 
> Ok, branches based on v3.14-rc1 with above dependencies can be found on:
> 
> https://github.com/shesselba/linux-dove.git for-mvebu/pinctrl-cleanup
> https://github.com/shesselba/linux-dove.git for-mvebu/pinctrl-3xx
> https://github.com/shesselba/linux-dove.git for-mvebu/pinctrl-dove
> 
> and an a-i-o branch to ease testing:
> 
> https://github.com/shesselba/linux-dove.git for-mvebu/all-merged-in
> 
> @Jason: I guess we should resend all three branches as individual
> patches on list somehow.

Damn!  So close!

$ git diff mvebu/pinctrl-dove shesselba/for-mvebu/all-merged-in
diff --git a/arch/arm/boot/dts/dove.dtsi b/arch/arm/boot/dts/dove.dtsi
index 2b76524f4aa7..eeb08edb67ac 100644
--- a/arch/arm/boot/dts/dove.dtsi
+++ b/arch/arm/boot/dts/dove.dtsi
@@ -390,7 +390,9 @@
 
 			pinctrl: pin-ctrl at d0200 {
 				compatible = "marvell,dove-pinctrl";
-				reg = <0xd0200 0x10>;
+				reg = <0xd0200 0x14>,
+				      <0xd0440 0x04>,
+				      <0xd802c 0x08>;
 				clocks = <&gate_clk 22>;
 
 				pmx_gpio_0: pmx-gpio-0 {
@@ -614,6 +616,12 @@
 				interrupts = <5>;
 			};
 
+			gconf: global-config at e802c {
+				compatible = "marvell,dove-global-config",
+				             "syscon";
+				reg = <0xe802c 0x14>;
+			};
+
 			gpio2: gpio-ctrl at e8400 {
 				compatible = "marvell,orion-gpio";
 				#gpio-cells = <2>;
diff --git a/drivers/pinctrl/mvebu/pinctrl-armada-38x.c b/drivers/pinctrl/mvebu/pinctrl-armada-38x.c
index 322ca8cb63eb..1049f82fb62f 100644
--- a/drivers/pinctrl/mvebu/pinctrl-armada-38x.c
+++ b/drivers/pinctrl/mvebu/pinctrl-armada-38x.c
@@ -428,7 +428,6 @@ static int armada_38x_pinctrl_probe(struct platform_device *pdev)
 		return PTR_ERR(mpp_base);
 
 	soc->variant = (unsigned) match->data & 0xff;
-
 	soc->controls = armada_38x_mpp_controls;
 	soc->ncontrols = ARRAY_SIZE(armada_38x_mpp_controls);
 	soc->gpioranges = armada_38x_mpp_gpio_ranges;


If you can drop the dtsi changes (I have them in mvebu/dt), and fix the
whitespace change, then we can merge them as is.

Thanks a ton for handling this!

thx,

Jason.




More information about the linux-arm-kernel mailing list