Thread (18 messages) 18 messages, 5 authors, 2021-04-10

Re: [PATCH v1 1/1] gpiolib: Read "gpio-line-names" from a firmware node

From: Bartosz Golaszewski <hidden>
Date: 2021-03-08 13:01:49
Also in: lkml

On Mon, Mar 8, 2021 at 12:45 PM Andy Shevchenko
[off-list ref] wrote:
On Sun, Mar 07, 2021 at 06:14:49PM +0200, Andy Shevchenko wrote:
quoted
On Sun, Mar 7, 2021 at 4:22 PM Bartosz Golaszewski
[off-list ref] wrote:
quoted
On Fri, Mar 5, 2021 at 1:02 PM Andy Shevchenko
[off-list ref] wrote:
quoted
On STM32MP1, the GPIO banks are subnodes of pin-controller@50002000,
see arch/arm/boot/dts/stm32mp151.dtsi. The driver for
pin-controller@50002000 is in drivers/pinctrl/stm32/pinctrl-stm32.c
and iterates over all of its DT subnodes when registering each GPIO
bank gpiochip. Each gpiochip has:

  - gpio_chip.parent = dev,
    where dev is the device node of the pin controller
  - gpio_chip.of_node = np,
    which is the OF node of the GPIO bank

Therefore, dev_fwnode(chip->parent) != of_fwnode_handle(chip.of_node),
i.e. pin-controller@50002000 != pin-controller@50002000/gpio@5000*000.

The original code behaved correctly, as it extracted the "gpio-line-names"
from of_fwnode_handle(chip.of_node) = pin-controller@50002000/gpio@5000*000.

To achieve the same behaviour, read property from the firmware node.
...
quoted
quoted
Did you run the OF unit tests on this? The check for the parent dev
was added after a bug was reported that was only triggered in unit
tests.
Parent is not used anymore. But I can run unittests next week (or if
you know that they are failing now, can you please show the failure?).
For the record:
[   40.587868] ### dt-test ### end of unittest - 190 passed, 0 failed

If you have tests failed, we need more information about what line fails, etc.

--
With Best Regards,
Andy Shevchenko
No it's fine, I just wanted to make sure. Patch applied, thanks!

Bartosz
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help