[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <521D1A6A.8040001@wwwdotorg.org>
Date: Tue, 27 Aug 2013 15:30:18 -0600
From: Stephen Warren <swarren@...dotorg.org>
To: boris brezillon <b.brezillon@...rkiz.com>
CC: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@...osoft.com>,
Rob Herring <rob.herring@...xeda.com>,
Pawel Moll <pawel.moll@....com>,
Mark Rutland <mark.rutland@....com>,
Ian Campbell <ian.campbell@...rix.com>,
Rob Landley <rob@...dley.net>,
Russell King <linux@....linux.org.uk>,
Linus Walleij <linus.walleij@...aro.org>,
Jiri Kosina <jkosina@...e.cz>,
Masanari Iida <standby24x7@...il.com>,
Nicolas Ferre <nicolas.ferre@...el.com>,
Richard Genoud <richard.genoud@...il.com>,
Heiko Stuebner <heiko@...ech.de>,
James Hogan <james.hogan@...tec.com>,
devicetree@...r.kernel.org, linux-doc@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org
Subject: Re: [RFC PATCH 2/3] pinctrl: at91: add support for generic pinconf
On 08/27/2013 12:04 AM, boris brezillon wrote:
> On 27/08/2013 05:54, Stephen Warren wrote:
>> On 08/26/2013 12:45 PM, boris brezillon wrote:
>>> Hello Jean-Christophe,
>>>
>>> Le 26/08/2013 19:53, Jean-Christophe PLAGNIOL-VILLARD a écrit :
>>>> On 23:37 Sat 24 Aug , Boris BREZILLON wrote:
>>>>> Add support for generic pin configuration to pinctrl-at91 driver.
>> ...
>>>>> a/Documentation/devicetree/bindings/pinctrl/atmel,at91-pinctrl.txt
>> ...
>>>>> configures various pad settings
>>>>> such as pull-up, multi drive, etc.
>>>>> Required properties for iomux controller:
>>>>> -- compatible: "atmel,at91rm9200-pinctrl"
>>>>> +- compatible: "atmel,at91rm9200-pinctrl" or
>>>>> "atmel,at91sam9x5-pinctrl".
>>>>> + Add "generic-pinconf" to the compatible string list to use the
>>>>> generic pin
>> ...
>>>>> +pinctrl@...ff400 {
>>>>> + #address-cells = <1>;
>>>>> + #size-cells = <1>;
>>>>> + ranges;
>>>>> + compatible = "atmel,at91rm9200-pinctrl", "generic-pinconf",
>>>>> "simple-bus";
>>>> nack your break the backword compatibility
>>>>
>>>> if we use a old kernel with this new dt nothing will work
>>>> as the old kernel will never known the the "generic-pinconf" means
>>>> anything
>>> Your're right, I didn't think of this case (old kernel with new dt).
>> Well, just to be clear: If a new DT uses a new compatible value of any
>> kind, be it adding "generic-pinconf" or switching to "foo-yyy" rather
>> than "foo-yyy", it won't be compatible... That somewhat implies that you
>> can't ever replace an old binding with something new.
>
> That's absolutely right, however the behaviour won't be the same in both
> cases.
>
> 1) If your (new) dt defines its pinctrl using the "foo-pinconf"
> compatible string and
> your (old) kernel does not support it, the pinctrl will never probe
> the pinctrl definitions.
True.
> Moreover, if you want to define both old ("foo-pinctrl") and new
> ("foo-pinconf") pinctrl
> definitions in your dt in order to support several kernel versions,
> nothing prevents you
> from doing it.
I don't know if that will work well; what happens if a kernel supports
both the old and new compatible values, so that the new kernel is
compatible with old DTs?
> 2) In the other hand, if you use an additional "generic-pinconf"
> compatible string to signify
> wether or not the pinctrl definition use the generic pinconf dt
> binding, the (old) kernel
> will probe the pinctrl definitions, ignore the "generic-pinconf"
> string, and fail when parsing
> the pinctrl configuration nodes (which are invalid pinctrl function
> nodes in the current dt binding).
> We have the same problem when using the 'atmel,generic-pinconf'
> property inside a pinctrl node:
> old kernels won't take this property into account.
True.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists