[OpenWrt-Devel] [PATCH v2 1/2] pinctrl/lantiq: split xway_mfp into dedicated tables

Jonas Gorski jogo at openwrt.org
Mon Nov 16 09:04:41 EST 2015


On Mon, Nov 16, 2015 at 2:55 PM, Martin Schiller <mschiller at tdt.de> wrote:
> On Mon, Nov 16, 2015 at 2:06 PM, Jonas Gorski <jogo at openwrt.org>
> wrote:
>> On Mon, Nov 16, 2015 at 12:01 PM, Martin Schiller <mschiller at tdt.de>
>> wrote:
>> > This patch splits the inadequate "pinctrl-xway" and "pinctrl-xr9"
>> > settings into dedicated "pinctrl-ase", "pinctrl-danube",
>> > "pinctrl-xrx100" and "pinctrl-xrx200" configuration tables.
>> >
>> > Based on the newest Lantiq Hardware Description it turend out, that
>> > there are some differences in the GPIO alternative functions of the
>> > Danube, xRX100 and xRX200 families, which makes it impossible to use
>> only one xway_mfp table.
>> >
>> > This patch is also the first step to add support for the xRX300
>> family.
>> >
>> > Signed-off-by: Martin Schiller <mschiller at tdt.de>
>> > ---
>> >  .../patches-3.18/0150-lantiq-pinctrl-xway.patch    | 1059
>> +++++++++++++++++++-
>> >  .../patches-4.1/0150-lantiq-pinctrl-xway.patch     | 1059
>> +++++++++++++++++++-
>> >  2 files changed, 2098 insertions(+), 20 deletions(-)
>> >
>> > diff --git
>> > a/target/linux/lantiq/patches-3.18/0150-lantiq-pinctrl-xway.patch
>> > b/target/linux/lantiq/patches-3.18/0150-lantiq-pinctrl-xway.patch
>> > index 84adbe6..3fc0432 100644
>> > --- a/target/linux/lantiq/patches-3.18/0150-lantiq-pinctrl-xway.patch
>> > +++ b/target/linux/lantiq/patches-3.18/0150-lantiq-pinctrl-xway.patch
>> > @@ -1,15 +1,1054 @@
>> >  --- a/drivers/pinctrl/pinctrl-xway.c
>> >  +++ b/drivers/pinctrl/pinctrl-xway.c
>>
>> (snip)
>>
>> > +@@ -769,9 +1153,10 @@ static struct pinctrl_gpio_range xway_gp  };
>> > +
>> > + static const struct of_device_id xway_match[] = {
>> > +-      { .compatible = "lantiq,pinctrl-xway", .data = &soc_cfg[0]},
>> > +-      { .compatible = "lantiq,pinctrl-xr9", .data = &soc_cfg[1]},
>> > +-      { .compatible = "lantiq,pinctrl-ase", .data = &soc_cfg[2]},
>> > ++      { .compatible = "lantiq,pinctrl-ase", .data = &soc_cfg[0]},
>> > ++      { .compatible = "lantiq,pinctrl-danube", .data =
>> &soc_cfg[1]},
>> > ++      { .compatible = "lantiq,pinctrl-xrx100", .data =
>> &soc_cfg[2]},
>> > ++      { .compatible = "lantiq,pinctrl-xrx200", .data =
>> &soc_cfg[3]},
>>
>> Unfortunately that ship has sailed, and "lantiq,pinctrl-xway" etc are
>> the Documented bindings for it in upstream linux; you can't just drop
>> support for the older bindings. At least you will never get this
>> accepted upstream. Also if you update bindings, you need to update the
>> documentation in Documentation/devicetree/bindings as well.
>
> OK, you are right. We also need to patch the bindings and the Documentation.
>
> "that ship has sailed": Do you mean, it's impossible to bring this changes upstream?
>
> Or would it be a solution to let the pinctrl-xway and pinctrl-xr9 in the code and mark it as deprecated somehow?

Device tree blobs using the old bindings must still work with newer
kernels. So adding support for new bindings and deprecating the old
ones is possible, but you can't drop support for them.


Jonas
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list