public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Bartosz Golaszewski <brgl@bgdev.pl>
Cc: "open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Bartosz Golaszewski <bgolaszewski@baylibre.com>,
	Marek Vasut <marex@denx.de>,
	Roman Guskov <rguskov@dh-electronics.com>
Subject: Re: [PATCH v1 1/1] gpiolib: Read "gpio-line-names" from a firmware node
Date: Mon, 15 Mar 2021 16:34:44 +0200	[thread overview]
Message-ID: <YE9whHhaa2XavKfj@smile.fi.intel.com> (raw)
In-Reply-To: <CAMRc=McLsamBwe8hSob11ustk2GUzOfYh7CcqNtxsM+6vgPENw@mail.gmail.com>

On Mon, Mar 15, 2021 at 03:04:37PM +0100, Bartosz Golaszewski wrote:
> On Mon, Mar 15, 2021 at 1:50 PM Andy Shevchenko
> <andriy.shevchenko@linux.intel.com> wrote:
> >
> > On Mon, Mar 15, 2021 at 12:16:26PM +0200, Andy Shevchenko wrote:
> > > On Mon, Mar 15, 2021 at 10:01:47AM +0100, Bartosz Golaszewski wrote:
> > > > On Fri, Mar 5, 2021 at 1:03 PM Andy Shevchenko
> > > > <andriy.shevchenko@linux.intel.com> wrote:
> > >
> > > > Unfortunately while this may fix the particular use-case on STM32, it
> > > > breaks all other users as the 'gpio-line-names' property doesn't live
> > > > on dev_fwnode(&gdev->dev) but on dev_fwnode(chip->parent).
> > > >
> > > > How about we first look for this property on the latter and only if
> > > > it's not present descend down to the former fwnode?
> > >
> > > Oops, I have tested on x86 and it worked the same way.
> > >
> > > Lemme check this, but I think the issue rather in ordering when we apply fwnode
> > > to the newly created device and when we actually retrieve gpio-line-names
> > > property.
> >
> > Hmm... I can't see how it's possible can be. Can you provide a platform name
> > and pointers to the DTS that has been broken by the change?
> >
> 
> I noticed it with gpio-mockup (libgpiod tests failed on v5.12-rc3) and
> the WiP gpio-sim - but it's the same on most DT platforms. The node
> that contains the `gpio-line-names` is the one associated with the
> platform device passed to the GPIO driver. The gpiolib then creates
> another struct device that becomes the child of that node but it
> doesn't copy the parent's properties to it (nor should it).
> 
> Every driver that reads device properties does it from the parent
> device, not the one in gdev - whether it uses of_, fwnode_ or generic
> device_ properties.

What you are telling contradicts with the idea of copying parent's fwnode
(or OF node) in the current code.

Basically to access the properties we have to use either what specific driver
supplied (by setting gpiochip->of_node or by leaving it NULL and in this case
gpiochip_add_data_with_key() will copy it from the parent.

That said, we shouldn't care about parent vs. GPIO device fwnode when reading
properties. So, bug is somewhere else.

In any case, I will test with the gpio-mockup, thanks!

-- 
With Best Regards,
Andy Shevchenko



  reply	other threads:[~2021-03-15 14:51 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-05 12:02 [PATCH v1 1/1] gpiolib: Read "gpio-line-names" from a firmware node Andy Shevchenko
2021-03-05 12:11 ` Marek Vasut
2021-03-05 12:24   ` Andy Shevchenko
2021-03-05 12:26     ` Marek Vasut
2021-03-07 13:55 ` Bartosz Golaszewski
2021-03-07 16:14   ` Andy Shevchenko
2021-03-08 11:45     ` Andy Shevchenko
2021-03-08 13:00       ` Bartosz Golaszewski
2021-03-15  9:01 ` Bartosz Golaszewski
2021-03-15 10:16   ` Andy Shevchenko
2021-03-15 12:50     ` Andy Shevchenko
2021-03-15 14:04       ` Bartosz Golaszewski
2021-03-15 14:34         ` Andy Shevchenko [this message]
2021-03-15 16:47           ` Bartosz Golaszewski
2021-03-15 17:04             ` Andy Shevchenko
2021-04-10  0:45               ` Marek Vasut
2021-04-10  9:06                 ` Bartosz Golaszewski
2021-04-10 13:18                   ` Marek Vasut

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=YE9whHhaa2XavKfj@smile.fi.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=bgolaszewski@baylibre.com \
    --cc=brgl@bgdev.pl \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marex@denx.de \
    --cc=rguskov@dh-electronics.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox