I'm CC'ing some input guys if this can't be solved in the pinctrl/irq side. On Friday 11 April 2014, 23:30:33 wrote Jean-Christophe PLAGNIOL-VILLARD: > > On Apr 11, 2014, at 10:24 PM, Alexander Stein <alexanders83@xxxxxx> wrote: > > > > > If the GPIO stays requested a device driver can't request it again. > > e.g. Without this patch the ads7846 driver returns the following error: > > ads7846 spi32766.3: failed to request/setup pendown GPIO15: -16 > > ads7846: probe of spi32766.3 failed with error -16 > > > > /sys/kernel/debug/gpio shows this: > > GPIOs 0-31, platform/fffff200.gpio, fffff200.gpio: > > [/ahb/apb/pinctrl@fffff200/gpio@fffff200] GPIOfffff200.gpio15: [gpio] set > > > > Signed-off-by: Alexander Stein <alexanders83@xxxxxx> > > --- > > I'm aware that it makes sense this GPIO is/stays requested, but either the > > pinctl or device driver have to be adjusted as both can't request this GPIO. > > I think the latter shouldn't change. > > > > drivers/pinctrl/pinctrl-at91.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/drivers/pinctrl/pinctrl-at91.c b/drivers/pinctrl/pinctrl-at91.c > > index d990e33..63176f2 100644 > > --- a/drivers/pinctrl/pinctrl-at91.c > > +++ b/drivers/pinctrl/pinctrl-at91.c > > @@ -1493,6 +1493,8 @@ static int at91_gpio_irq_domain_xlate(struct irq_domain *d, > > if (ret) > > return ret; > > > > + gpio_free(pin); > > + > > NACK it the whole key point the gpio use as a IRQ so the irq generic code request it > > return 0; > > } > > > -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html