[PATCH v2 0/5] gpio: add support for pull-up/pull-down configuration

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

 



Hello,

As we started discussing in [1], it would be useful to have a way to
configure pull-up/pull-down resistors for simple GPIO controllers that
don't have any pinmuxing capability, and therefore no interaction with
the pinctrl subsystem.

This is a second iteration of the patches (the v1 was posted at
https://patchwork.ozlabs.org/cover/1020392/).

Changes since v1:

 - Add a comment in the binding that explicitly states that the new
   bit 4 and 5 should only be used for HW with a simple on/off
   pull-up/pull-down configuration. More complex HW should use a pin
   control binding. Suggested by Linus Walleij.

 - Change gpiod_set_debounce() and gpiod_set_transitory() to use the
   new gpio_set_config() helper. This is done in a new, separate
   patch. Suggested by Linus Walleij.

 - Add error checking in gpiod_configure_flags() to make sure pull-up
   and pull-down are not both enabled on the same GPIO. Suggested by
   Jan Kundrát. Jan suggested to put this in the code converting from
   DT properties to internal flags, but it actually makes more sense
   to do it in gpiod_configure_flags(), independently from DT parsing.

 - Add a check in gpio-pca953x driver that pull-up/pull-down is indeed
   supported by the underlying HW in the
   pca953x_gpio_set_pull_up_down() function. Noticed by Linus Walleij.

 - Move the changes in include/dt-bindings/gpio/gpio.h to the
   dt-bindings patch, as suggested by Rob Herring.

Rob: due to the changes in the dt-bindings patch, I have not kept your
Acked-by.

Thomas

[1] https://marc.info/?l=linux-gpio&m=154491873506701&w=2

Thomas Petazzoni (5):
  dt-bindings: gpio: document the new pull-up/pull-down flags
  gpio: rename gpio_set_drive_single_ended() to gpio_set_config()
  gpio: use new gpio_set_config() helper in more places
  gpio: add core support for pull-up/pull-down configuration
  gpio: pca953x: add ->set_config implementation

 .../devicetree/bindings/gpio/gpio.txt         | 12 ++++
 drivers/gpio/gpio-pca953x.c                   | 66 ++++++++++++++++++-
 drivers/gpio/gpiolib-of.c                     |  5 ++
 drivers/gpio/gpiolib.c                        | 50 +++++++++-----
 drivers/gpio/gpiolib.h                        |  2 +
 include/dt-bindings/gpio/gpio.h               |  6 ++
 include/linux/gpio/machine.h                  |  2 +
 include/linux/of_gpio.h                       |  2 +
 8 files changed, 127 insertions(+), 18 deletions(-)

-- 
2.20.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