2018-01-21 23:10:55

by David Lechner

[permalink] [raw]
Subject: [PATCH] gpio: davinci: add support for pinmux gpio ranges

This adds support for the pinmux gpio ranges feature to the DaVinci gpio
driver. Only device tree is supported since the non-DT boards don't
use a generic pinmux controller.

Cc: Keerthy <[email protected]>
Cc: Linus Walleij <[email protected]>
Signed-off-by: David Lechner <[email protected]>
---
drivers/gpio/gpio-davinci.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/drivers/gpio/gpio-davinci.c b/drivers/gpio/gpio-davinci.c
index e4b3d7d..744d6c2 100644
--- a/drivers/gpio/gpio-davinci.c
+++ b/drivers/gpio/gpio-davinci.c
@@ -20,6 +20,7 @@
#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_device.h>
+#include <linux/pinctrl/consumer.h>
#include <linux/platform_device.h>
#include <linux/platform_data/gpio-davinci.h>
#include <linux/irqchip/chained_irq.h>
@@ -225,6 +226,11 @@ static int davinci_gpio_probe(struct platform_device *pdev)
chips->chip.of_gpio_n_cells = 2;
chips->chip.parent = dev;
chips->chip.of_node = dev->of_node;
+
+ if (of_property_read_bool(dev->of_node, "gpio-ranges")) {
+ chips->chip.request = gpiochip_generic_request;
+ chips->chip.free = gpiochip_generic_free;
+ }
#endif
spin_lock_init(&chips->lock);
bank_base += ngpio;
--
2.7.4



2018-02-07 13:02:05

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH] gpio: davinci: add support for pinmux gpio ranges

On Mon, Jan 22, 2018 at 12:09 AM, David Lechner <[email protected]> wrote:

> This adds support for the pinmux gpio ranges feature to the DaVinci gpio
> driver. Only device tree is supported since the non-DT boards don't
> use a generic pinmux controller.
>
> Cc: Keerthy <[email protected]>
> Cc: Linus Walleij <[email protected]>
> Signed-off-by: David Lechner <[email protected]>

Nice, patch applied!

> + if (of_property_read_bool(dev->of_node, "gpio-ranges")) {
> + chips->chip.request = gpiochip_generic_request;
> + chips->chip.free = gpiochip_generic_free;
> + }

If the backing pin controller can do things like debounce
or open drain pin control, consider using also the
gpiochip_generic_config() callback in the future.

Yours,
Linus Walleij