From: Serge Semin <fancer.lancer@xxxxxxxxx> 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"). Changelog v2: - Use a shorter summary describing the DT bindings conversion patch. - Add myself to the MAINTAINERS file as a maintainer of the DW APB GPIO driver. - Add myself to the maintainers list of the DW APB GPIO driver DT schema. - Print error instead of info-message if APB/debounce clocks either failed to be acquired or couldn't be enabled. - Rearrange the SoB tags. - Make sure DT schema defines the lowercase hex numbers in the main dt-node name and in the sub-node names. - Use "allOf:" statement to apply uint32 and "minimum/maximum" limitations on the "snps,nr-gpios" property of the DW APB GPIO DT schema. - Discard "interrupts-extended" property from the DT schema. - Make sure the sub-nodes have names with either 'gpio-port' or 'gpio-controller' prefixes. - Our corporate email server doesn't change Message-Id anymore, so the patchset is resubmitted being in the cover-letter-threaded format. Changelog v3: - Replace S: with M: section entry in the MAINTAINERS file. - Cc Andy to all patches he isn't added by the auto "cc-cmd" command. Signed-off-by: Serge Semin <Sergey.Semin@xxxxxxxxxxxxxxxxxxxx> Cc: Alexey Malahov <Alexey.Malahov@xxxxxxxxxxxxxxxxxxxx> Cc: Maxim Kaurkin <Maxim.Kaurkin@xxxxxxxxxxxxxxxxxxxx> Cc: Pavel Parkhomenko <Pavel.Parkhomenko@xxxxxxxxxxxxxxxxxxxx> Cc: Ramil Zaripov <Ramil.Zaripov@xxxxxxxxxxxxxxxxxxxx> Cc: Ekaterina Skachko <Ekaterina.Skachko@xxxxxxxxxxxxxxxxxxxx> Cc: Vadim Vlasov <V.Vlasov@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx> Cc: Paul Burton <paulburton@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Hoan Tran <hoan@xxxxxxxxxxxxxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> Cc: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>, Cc: linux-gpio@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Serge Semin (6): dt-bindings: gpio: Convert snps,dw-apb-gpio to DT schema dt-bindings: gpio: Add DW GPIO debounce clock property dt-bindings: gpio: Add Sergey Semin to DW APB GPIO driver maintainers gpio: dwapb: Use optional-clocks interface for APB ref-clock gpio: dwapb: Add debounce reference clock support MAINTAINERS: Add Segey Semin to maintainers of DW APB GPIO driver .../bindings/gpio/snps,dw-apb-gpio.yaml | 134 ++++++++++++++++++ .../bindings/gpio/snps-dwapb-gpio.txt | 65 --------- MAINTAINERS | 1 + drivers/gpio/gpio-dwapb.c | 41 ++++-- 4 files changed, 161 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 -- 2.25.1