Re: [PATCH V5 0/4] gpio: tegra: Cleanups and support for debounce

From: Laxman Dewangan
Date: Mon May 02 2016 - 02:57:02 EST

On Saturday 30 April 2016 04:37 PM, Linus Walleij wrote:
On Fri, Apr 29, 2016 at 11:20 AM, Laxman Dewangan <ldewangan@xxxxxxxxxx> wrote:
On Friday 29 April 2016 02:37 PM, Linus Walleij wrote:
On Mon, Apr 25, 2016 at 12:38 PM, Laxman Dewangan <ldewangan@xxxxxxxxxx>

Add support for the debounce as Tegra210 support debounce in HW.
Also do the clenaups to remove all global variables.
OK this v5 is applied.

Laxman does this GPIO also have open drain and/or open source

Some of the pins support the open drain and these are part of pinmux
register set.
For that we have property for setting open drain.

Is it possible to link the gpio APIs to pincontrol for setting that pin?
I have the same issue with Nomadik pin control that I use as a
testbed: there is a backend in pin control to the GPIO side.

I was thinking about adding a new cross call. We now have this:

/* External interface to pin control */
extern int pinctrl_request_gpio(unsigned gpio);
extern void pinctrl_free_gpio(unsigned gpio);
extern int pinctrl_gpio_direction_input(unsigned gpio);
extern int pinctrl_gpio_direction_output(unsigned gpio);

I was going to add:

extern int pinctrl_gpio_set_config(unsigned gpio, unsigned long config);

That can be used by GPIO drivers to call back into pincontrol
and set up any config flags using the conventions of the
corresponding pin control back-end.

This could be used for as well open drain as other things (like
pull-up) as the userspace ABI matures (it currently only has
in/out and open drain/source).

What do you think about this idea?

Yes, this will be great.
We will have generic interface which help in extending it in option.