mbox series

[0/4] gpio: dwapb: Fix reference clocks usage

Message ID 20200306132505.8D3B88030795@mail.baikalelectronics.ru
Headers show
Series gpio: dwapb: Fix reference clocks usage | expand

Message

Serge Semin March 6, 2020, 1:24 p.m. UTC
From: Serge Semin <fancer.lancer@gmail.com>

There is no need in any fixes to have the Baikal-T1 SoC DW GPIO controllers
supported by the kernel DW APB GPIO driver. It works for them just fine with
no modifications. But still there is a room for optimizations there.

First of all as it tends to be traditional for all Baikal-T1 SoC related
patchset we replaced the legacy plain text-based dt-binding file with
yaml-based one. Baikal-T1 DW GPIO port A supports a debounce functionality,
but in order to use it the corresponding reference clock must be enabled.
We added support of that clock in the driver and made sure the dt-bindings
had its declaration. In addition seeing both APB and debounce reference
clocks are optional, we replaced the standard devm_clk_get() usage with
the function of optional clocks acquisition.

This patchset is rebased and tested on the mainline Linux kernel 5.6-rc4:
commit 98d54f81e36b ("Linux 5.6-rc4").

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Signed-off-by: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Cc: Maxim Kaurkin <Maxim.Kaurkin@baikalelectronics.ru>
Cc: Pavel Parkhomenko <Pavel.Parkhomenko@baikalelectronics.ru>
Cc: Ramil Zaripov <Ramil.Zaripov@baikalelectronics.ru>
Cc: Ekaterina Skachko <Ekaterina.Skachko@baikalelectronics.ru>
Cc: Vadim Vlasov <V.Vlasov@baikalelectronics.ru>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Paul Burton <paulburton@kernel.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Hoan Tran <hoan@os.amperecomputing.com>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Cc: Philipp Zabel <p.zabel@pengutronix.de>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: linux-gpio@vger.kernel.org
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org

Serge Semin (4):
  dt-bindings: gpio: Replace DW APB GPIO legacy bindings with YAML-based
    one
  dt-bindings: gpio: Add DW GPIO debounce clocks bindings
  gpio: dwapb: Use optional-clocks interface for APB ref-clocks
  gpio: dwapb: Add debounce reference clock support

 .../bindings/gpio/snps,dw-apb-gpio.yaml       | 140 ++++++++++++++++++
 .../bindings/gpio/snps-dwapb-gpio.txt         |  65 --------
 drivers/gpio/gpio-dwapb.c                     |  41 +++--
 3 files changed, 166 insertions(+), 80 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/gpio/snps,dw-apb-gpio.yaml
 delete mode 100644 Documentation/devicetree/bindings/gpio/snps-dwapb-gpio.txt