All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Simek <michal.simek@xilinx.com>
To: Linus Walleij <linus.walleij@linaro.org>,
	Michal Simek <michal.simek@xilinx.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Michal Simek <monstr@monstr.eu>,
	Steffen Trumtrar <s.trumtrar@pengutronix.de>,
	Peter Crosthwaite <peter.crosthwaite@xilinx.com>,
	"open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>,
	Rob Herring <robherring2@gmail.com>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH] gpio: zynq: Setup chip->base based on alias ID
Date: Thu, 26 Apr 2018 15:35:26 +0200	[thread overview]
Message-ID: <f9dd4f64-4026-f495-5810-32affb5b0944@xilinx.com> (raw)
In-Reply-To: <CACRpkdbOa+AvhQT1RCWA_zQuTpp4qfNjZBFDOKLdaFqMGAe+cw@mail.gmail.com>

Hi Linus,

On 26.4.2018 15:08, Linus Walleij wrote:
> On Wed, Apr 11, 2018 at 3:55 PM, Michal Simek <michal.simek@xilinx.com> wrote:
> 
> Thanks for your patch!
> 
>> In past Xilinx gpio-zynq driver was setting up gpio chip->base as 0
>> which was chagned to autodetection when driver was upstreamed. Older
>> systems, which were using this old version, setup SW stack which expects
>> zynq gpio base as 0 and right now there is no way how to set this up.
>>
>> The patch is adding an option to setup chip->base based on aliases which
>> is something what some other drivers are doing too.
>> It means when gpio0 alias is setup then chip->base is 0. When gpio alias
>> is not setup gpiochip_find_base() set it up properly which is current
>> behavior.
>>
>> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
> 
> In general, we stopped any controlling of the GPIO base.

I know.

> 
> Also this use would have to be OK with the DT maintainers
> as I never saw this use of alias before.

If you grep gpio drivers you will see that these gpio-zx, gpio-mvebu,
gpio-mxc, gpio-mxs, gpio-vf610 are using that.

> 
> Please describe the use case for this.
> 
> The only use case which I can think about is userspace sysfs
> and then I would really like to know why these userspace
> users cannot use the character device that is nowadays
> supported by libgpiod and there is even patches for some
> IoT libraries to use it. The character device makes the
> GPIO Linux "base" irrelevant for userspace.
> 
> GPIO sysfs is deprecated and moved to the obsolete ABI.
> 
> If there are legacy applications that use this I would have
> to consider it, but since this has been -1 since the driver
> was merged I find that unlikely.

Yes, it is about legacy application which I have seen recently and there
is no source code for application calls it because board vendor doesn't
provide it.

You are right that -1 was used from the beginning in mainline but
unfortunately this driver was in vendor tree for a while and it uses 0
there.

In upstreaming this was changed to -1 but customers have a lot of code
which developed against vendor tree and they want to use
latest&greatest. And without this they are not able to run that
applications.

I found that this logic is already in 5 drivers in mainline that's why I
send this patch to be +1.

Thanks,
Michal

WARNING: multiple messages have this Message-ID (diff)
From: michal.simek@xilinx.com (Michal Simek)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] gpio: zynq: Setup chip->base based on alias ID
Date: Thu, 26 Apr 2018 15:35:26 +0200	[thread overview]
Message-ID: <f9dd4f64-4026-f495-5810-32affb5b0944@xilinx.com> (raw)
In-Reply-To: <CACRpkdbOa+AvhQT1RCWA_zQuTpp4qfNjZBFDOKLdaFqMGAe+cw@mail.gmail.com>

Hi Linus,

On 26.4.2018 15:08, Linus Walleij wrote:
> On Wed, Apr 11, 2018 at 3:55 PM, Michal Simek <michal.simek@xilinx.com> wrote:
> 
> Thanks for your patch!
> 
>> In past Xilinx gpio-zynq driver was setting up gpio chip->base as 0
>> which was chagned to autodetection when driver was upstreamed. Older
>> systems, which were using this old version, setup SW stack which expects
>> zynq gpio base as 0 and right now there is no way how to set this up.
>>
>> The patch is adding an option to setup chip->base based on aliases which
>> is something what some other drivers are doing too.
>> It means when gpio0 alias is setup then chip->base is 0. When gpio alias
>> is not setup gpiochip_find_base() set it up properly which is current
>> behavior.
>>
>> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
> 
> In general, we stopped any controlling of the GPIO base.

I know.

> 
> Also this use would have to be OK with the DT maintainers
> as I never saw this use of alias before.

If you grep gpio drivers you will see that these gpio-zx, gpio-mvebu,
gpio-mxc, gpio-mxs, gpio-vf610 are using that.

> 
> Please describe the use case for this.
> 
> The only use case which I can think about is userspace sysfs
> and then I would really like to know why these userspace
> users cannot use the character device that is nowadays
> supported by libgpiod and there is even patches for some
> IoT libraries to use it. The character device makes the
> GPIO Linux "base" irrelevant for userspace.
> 
> GPIO sysfs is deprecated and moved to the obsolete ABI.
> 
> If there are legacy applications that use this I would have
> to consider it, but since this has been -1 since the driver
> was merged I find that unlikely.

Yes, it is about legacy application which I have seen recently and there
is no source code for application calls it because board vendor doesn't
provide it.

You are right that -1 was used from the beginning in mainline but
unfortunately this driver was in vendor tree for a while and it uses 0
there.

In upstreaming this was changed to -1 but customers have a lot of code
which developed against vendor tree and they want to use
latest&greatest. And without this they are not able to run that
applications.

I found that this logic is already in 5 drivers in mainline that's why I
send this patch to be +1.

Thanks,
Michal

  reply	other threads:[~2018-04-26 13:35 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-11 13:55 [PATCH] gpio: zynq: Setup chip->base based on alias ID Michal Simek
2018-04-11 13:55 ` Michal Simek
2018-04-26 13:08 ` Linus Walleij
2018-04-26 13:08   ` Linus Walleij
2018-04-26 13:35   ` Michal Simek [this message]
2018-04-26 13:35     ` Michal Simek
2018-05-02 10:10     ` Linus Walleij
2018-05-02 10:10       ` Linus Walleij
2018-05-02 10:15       ` Michal Simek
2018-05-02 10:15         ` Michal Simek
2018-05-02 13:01         ` Linus Walleij
2018-05-02 13:01           ` Linus Walleij
2018-05-02 13:41           ` Michal Simek
2018-05-02 13:41             ` Michal Simek
2018-05-02 13:56             ` Linus Walleij
2018-05-02 13:56               ` Linus Walleij
2018-05-02 14:19               ` Michal Simek
2018-05-02 14:19                 ` Michal Simek
2018-05-15 13:26                 ` Michal Simek
2018-05-15 13:26                   ` Michal Simek
2018-05-23  9:44                   ` Linus Walleij
2018-05-23  9:44                     ` Linus Walleij
2018-05-23 10:26                     ` Michal Simek
2018-05-23 10:26                       ` Michal Simek
2018-05-23  9:42                 ` Linus Walleij
2018-05-23  9:42                   ` Linus Walleij
2018-05-23 10:17                   ` Michal Simek
2018-05-23 10:17                     ` Michal Simek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f9dd4f64-4026-f495-5810-32affb5b0944@xilinx.com \
    --to=michal.simek@xilinx.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=monstr@monstr.eu \
    --cc=peter.crosthwaite@xilinx.com \
    --cc=robherring2@gmail.com \
    --cc=s.trumtrar@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.