Thread (14 messages) 14 messages, 4 authors, 2017-01-26

Re: [PATCH v2 3/3] pinctrl / gpio: Introduce .set_config() callback for GPIO chips

From: Mika Westerberg <mika.westerberg@linux.intel.com>
Date: 2017-01-24 13:02:24
Also in: lkml

On Tue, Jan 24, 2017 at 01:53:53PM +0100, Linus Walleij wrote:
On Tue, Jan 24, 2017 at 12:11 PM, Mika Westerberg
[off-list ref] wrote:
quoted
On Mon, Jan 23, 2017 at 06:11:07PM +0100, Johan Hovold wrote:
quoted
On Mon, Jan 23, 2017 at 03:34:34PM +0300, Mika Westerberg wrote:
quoted
Currently we already have two pin configuration related callbacks
available for GPIO chips .set_single_ended() and .set_debounce(). In
future we expect to have even more, which does not scale well if we need
to add yet another callback to the GPIO chip structure for each possible
configuration parameter.

Better solution is to reuse what we already have available in the
generic pinconf.

To support this, we introduce a new .set_config() callback for GPIO
chips. The callback takes a single packed pin configuration value as
parameter. This can then be extended easily beyond what is currently
supported by just adding new types to the generic pinconf enum.

If the GPIO driver is backed up by a pinctrl driver the GPIO driver can
just assign gpiochip_generic_config() (introduced in this patch) to
.set_config and that will take care configuration requests are directed
to the pinctrl driver.

We then convert the existing drivers over .set_config() and finally
remove the .set_single_ended() and .set_debounce() callbacks.

Suggested-by: Linus Walleij <redacted>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
For greybus and USB serial:
quoted
quoted
Acked-by: Johan Hovold <johan@kernel.org>
Thanks!
quoted
Note however that this patch fails to apply to linux-next (conflicts in
pinctrl as well as staging).
Indeed, it does. I did the series on top of v4.10-rc5 but looks like
there are some changes in linux-next that I missed.

I'll rebase the series on top of linux-next and resend.
If the conflicts are just with the GPIO tree then the  "devel" branch
in the GPIO tree is what you should base it on.
OK.
If there are conflicts with other trees including pinctrl it should
probably be based on v4.10-rcN and end up in my face, in this case
maybe I should just make an immutable branch in the GPIO tree and
pull to both itself and pincontrol and resolve the conflicts if they are
clashing.
The only conflict I noticed when rebased the series on top of today's
linux-next was due to 7f2e9de736e7 ("staging: greybus: fix checkpatch
unsigned warnings").
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help