Messages in this thread Patch in this message | | | Date | Tue, 9 Aug 2022 23:00:33 -0700 | Subject | [PATCH v1 4/9] gpiolib: Clear the gpio_device's fwnode initialized flag before adding | From | Saravana Kannan <> |
| |
Registering an irqdomain sets the flag for the fwnode. But having the flag set when a device is added is interpreted by fw_devlink to mean the device has already been initialized and will never probe. This prevents fw_devlink from creating device links with the gpio_device as a supplier. So, clear the flag before adding the device.
Signed-off-by: Saravana Kannan <saravanak@google.com> --- drivers/gpio/gpiolib.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index cc9c0a12259e..1d57d6f24632 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -522,6 +522,12 @@ static int gpiochip_setup_dev(struct gpio_device *gdev) { int ret; + /* + * If fwnode doesn't belong to another device, it's safe to clear its + * initialized flag. + */ + if (!gdev->dev.fwnode->dev) + fwnode_dev_initialized(gdev->dev.fwnode, false); ret = gcdev_register(gdev, gpio_devt); if (ret) return ret; -- 2.37.1.559.g78731f0fdb-goog
| |