Message ID | 20200723013858.10766-1-Sergey.Semin@baikalelectronics.ru |
---|---|
Headers | show |
Series | gpio: dwapb: Refactor GPIO resources initialization | expand |
On Thu, Jul 23, 2020 at 04:38:51AM +0300, Serge Semin wrote: > This series is about the DW APB GPIO device initialization procedure > cleaning up. First of all it has been discovered that having a > vendor-specific "snps,nr-gpios" property isn't only redundant but also > might be dangerous (see the commit log for details). Instead we suggest to > use the generic "ngpios" property to define a number of GPIOs each DW APB > GPIO controller port supports. Secondly seeing a tendency of the other > GPIO drivers getting converted to using the GPIO-lib-based IRQ-chip > interface this series provides a patch, which replaces the DW APB GPIO > driver Generic IRQ-chip implementation with the GPIO-lib IRQ-chip one. > Finally the DW APB GPIO device probe procedure is simplified by > converting the code to be using the device managed resources for the > reference clocks initialization, reset control assertion/de-assertion > and GPIO-chip registration. Thanks! For non-commented patches, excluding DT one, Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> > Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru> > Cc: Andy Shevchenko <andy.shevchenko@gmail.com> > Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>, > Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru> > Cc: Pavel Parkhomenko <Pavel.Parkhomenko@baikalelectronics.ru> > Cc: Rob Herring <robh+dt@kernel.org> > Cc: linux-gpio@vger.kernel.org > Cc: devicetree@vger.kernel.org > Cc: linux-kernel@vger.kernel.org > > Serge Semin (7): > dt-bindings: gpio: dwapb: Add ngpios property support > gpio: dwapb: Add ngpios DT-property support > gpio: dwapb: Move MFD-specific IRQ handler > gpio: dwapb: Convert driver to using the GPIO-lib-based IRQ-chip > gpio: dwapb: Get reset control by means of resource managed interface > gpio: dwapb: Get clocks by means of resource managed interface > gpio: dwapb: Use resource managed GPIO-chip add data method > > .../bindings/gpio/snps,dw-apb-gpio.yaml | 6 + > drivers/gpio/Kconfig | 2 +- > drivers/gpio/gpio-dwapb.c | 324 +++++++++--------- > 3 files changed, 161 insertions(+), 171 deletions(-) > > -- > 2.26.2 >
This series is about the DW APB GPIO device initialization procedure cleaning up. First of all it has been discovered that having a vendor-specific "snps,nr-gpios" property isn't only redundant but also might be dangerous (see the commit log for details). Instead we suggest to use the generic "ngpios" property to define a number of GPIOs each DW APB GPIO controller port supports. Secondly seeing a tendency of the other GPIO drivers getting converted to using the GPIO-lib-based IRQ-chip interface this series provides a patch, which replaces the DW APB GPIO driver Generic IRQ-chip implementation with the GPIO-lib IRQ-chip one. Finally the DW APB GPIO device probe procedure is simplified by converting the code to be using the device managed resources for the reference clocks initialization, reset control assertion/de-assertion and GPIO-chip registration. Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru> Cc: Andy Shevchenko <andy.shevchenko@gmail.com> Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>, Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru> Cc: Pavel Parkhomenko <Pavel.Parkhomenko@baikalelectronics.ru> Cc: Rob Herring <robh+dt@kernel.org> Cc: linux-gpio@vger.kernel.org Cc: devicetree@vger.kernel.org Cc: linux-kernel@vger.kernel.org Serge Semin (7): dt-bindings: gpio: dwapb: Add ngpios property support gpio: dwapb: Add ngpios DT-property support gpio: dwapb: Move MFD-specific IRQ handler gpio: dwapb: Convert driver to using the GPIO-lib-based IRQ-chip gpio: dwapb: Get reset control by means of resource managed interface gpio: dwapb: Get clocks by means of resource managed interface gpio: dwapb: Use resource managed GPIO-chip add data method .../bindings/gpio/snps,dw-apb-gpio.yaml | 6 + drivers/gpio/Kconfig | 2 +- drivers/gpio/gpio-dwapb.c | 324 +++++++++--------- 3 files changed, 161 insertions(+), 171 deletions(-)