Re: [PATCH] gpiolib: of: Use correct fwnode for DT-probed chips
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date: 2022-11-11 11:45:28
Also in:
lkml
On Fri, Nov 11, 2022 at 12:37:32PM +0100, Thierry Reding wrote:
From: Thierry Reding <redacted> The OF node store in chip->fwnode is used to explicitly override the FW node for a GPIO chip. For chips that use the default FW node (i.e. that of their parent device), this will be NULL and cause the chip not to be fully registered. Instead, use the GPIO device's FW node, which is set to either the node of the parent device or the explicit override in chip->fwnode.
Thank you! Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> P.S. It's good we have this report, which means I have to reconsider the followup I'm cooking. In any case I will send it after v6.2-rc1 for broader testing.
quoted hunk ↗ jump to hunk
Fixes: 8afe82550240 ("gpiolib: of: Prepare of_gpiochip_add() / of_gpiochip_remove() for fwnode") Tested-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Thierry Reding <redacted> --- drivers/gpio/gpiolib-of.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c index 4be3c21aa718..55c3712592db 100644 --- a/drivers/gpio/gpiolib-of.c +++ b/drivers/gpio/gpiolib-of.c@@ -1067,7 +1067,7 @@ int of_gpiochip_add(struct gpio_chip *chip) struct device_node *np; int ret; - np = to_of_node(chip->fwnode); + np = to_of_node(dev_fwnode(&chip->gpiodev->dev)); if (!np) return 0;-- 2.38.1
-- With Best Regards, Andy Shevchenko