[PATCH v3 0/6] gpio: dwapb: Fix reference clocks usage

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux