Merge tag 'driver-core-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-block.git] / drivers / gpio / gpiolib.c
index 99a2c77c3711b6e3371fdfd4e60957b30447b1b8..19bd23044b01712dd445a082787b5a1eba6bd1ae 100644 (file)
@@ -587,6 +587,13 @@ 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 && !gdev->dev.fwnode->dev)
+               fwnode_dev_initialized(gdev->dev.fwnode, false);
+
        ret = gcdev_register(gdev, gpio_devt);
        if (ret)
                return ret;