[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