diff mbox

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

Message ID 20140225200447.GA1872@titan.lakedaemon.net (mailing list archive)
State New, archived
Headers show

Commit Message

Jason Cooper Feb. 25, 2014, 8:04 p.m. UTC
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@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


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.

Comments

Sebastian Hesselbarth Feb. 25, 2014, 8:34 p.m. UTC | #1
On 02/25/2014 09:04 PM, Jason Cooper wrote:
> 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@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@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@e802c {
> +				compatible = "marvell,dove-global-config",
> +				             "syscon";
> +				reg = <0xe802c 0x14>;
> +			};
> +
>   			gpio2: gpio-ctrl@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.

Done.

> Thanks a ton for handling this!

No problem, thanks for resolving the dependencies :)

Sebastian
Ezequiel Garcia Feb. 27, 2014, 1:38 p.m. UTC | #2
On Tue, Feb 25, 2014 at 03:04:47PM -0500, Jason Cooper wrote:
> 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.]
> > 
[..]
> 
> 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.
> 

Tested for-next on Armada 375 and Armada 385 development boards. The
pinctrl debugfs looks correct.

I've been using for-next for a couple days now, without issues.
Jason Cooper Feb. 27, 2014, 3:14 p.m. UTC | #3
On Thu, Feb 27, 2014 at 10:38:32AM -0300, Ezequiel Garcia wrote:
> On Tue, Feb 25, 2014 at 03:04:47PM -0500, Jason Cooper wrote:
> > 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.]
> > > 
> [..]
> > 
> > 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.
> > 
> 
> Tested for-next on Armada 375 and Armada 385 development boards. The
> pinctrl debugfs looks correct.
> 
> I've been using for-next for a couple days now, without issues.

Great!  Thanks, Ezequiel!

thx,

Jason.
diff mbox

Patch

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@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@e802c {
+				compatible = "marvell,dove-global-config",
+				             "syscon";
+				reg = <0xe802c 0x14>;
+			};
+
 			gpio2: gpio-ctrl@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;