pon., 14 paź 2019 o 16:58 <gregkh@xxxxxxxxxxxxxxxxxxx> napisał(a): > > > The patch below does not apply to the 5.3-stable tree. > If someone wants it applied there, or to any other stable or longterm > tree, then please email the backport, including the original git commit > id to <stable@xxxxxxxxxxxxxxx>. > > thanks, > > greg k-h > > ------------------ original commit in Linus's tree ------------------ > > From be7ae45cfea97e787234e00e1a9eb341acacd84e Mon Sep 17 00:00:00 2001 > From: Marco Felsch <m.felsch@xxxxxxxxxxxxxx> > Date: Tue, 1 Oct 2019 11:49:21 +0200 > Subject: [PATCH] gpio: fix getting nonexclusive gpiods from DT > > Since commit ec757001c818 ("gpio: Enable nonexclusive gpiods from DT > nodes") we are able to get GPIOD_FLAGS_BIT_NONEXCLUSIVE marked gpios. > Currently the gpiolib uses the wrong flags variable for the check. We > need to check the gpiod_flags instead of the of_gpio_flags else we > return -EBUSY for GPIOD_FLAGS_BIT_NONEXCLUSIVE marked and requested > gpiod's. > > Fixes: ec757001c818 gpio: Enable nonexclusive gpiods from DT nodes > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Marco Felsch <m.felsch@xxxxxxxxxxxxxx> > [Bartosz: the function was moved to gpiolib-of.c so updated the patch] > Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> > > diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c > index 1eea2c6c2e1d..80ea49f570f4 100644 > --- a/drivers/gpio/gpiolib-of.c > +++ b/drivers/gpio/gpiolib-of.c > @@ -317,7 +317,7 @@ struct gpio_desc *gpiod_get_from_of_node(struct device_node *node, > transitory = flags & OF_GPIO_TRANSITORY; > > ret = gpiod_request(desc, label); > - if (ret == -EBUSY && (flags & GPIOD_FLAGS_BIT_NONEXCLUSIVE)) > + if (ret == -EBUSY && (dflags & GPIOD_FLAGS_BIT_NONEXCLUSIVE)) > return desc; > if (ret) > return ERR_PTR(ret); > Hi Greg, this and other GPIO patches can't be applied because the relevant code has been moved a lot during the merge window. I'll send backports shortly. Bart