gpio: dwapb: Read GPIO base from gpio-base property
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 4 Aug 2021 16:00:17 +0000 (19:00 +0300)
committerAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 11 Aug 2021 12:56:44 +0000 (15:56 +0300)
For backward compatibility with some legacy devices introduce
a new (*) property gpio-base to read GPIO base. This will allow
further cleaning up of the driver.

*) Note, it's not new for the GPIO library since the mockup driver
   is using it already.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Tested-by: Serge Semin <fancer.lancer@gmail.com>
Acked-by: Serge Semin <fancer.lancer@gmail.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-dwapb.c

index 4c7153cb646cf0c8f72b59b93b88462823ec7f78..674e91e69cc5780b9c5dc9fe7e798b792c38d1aa 100644 (file)
@@ -584,6 +584,10 @@ static struct dwapb_platform_data *dwapb_gpio_get_pdata(struct device *dev)
 
                pp->gpio_base   = -1;
 
+               /* For internal use only, new platforms mustn't exercise this */
+               if (is_software_node(fwnode))
+                       fwnode_property_read_u32(fwnode, "gpio-base", &pp->gpio_base);
+
                /*
                 * Only port A can provide interrupts in all configurations of
                 * the IP.