pon., 4 lis 2019 o 16:59 Kent Gibson <warthog618@xxxxxxxxx> napisał(a): > > On Mon, Nov 04, 2019 at 04:50:30PM +0100, Bartosz Golaszewski wrote: > > pon., 4 lis 2019 o 16:39 Kent Gibson <warthog618@xxxxxxxxx> napisał(a): > > > > > > Allow pull up/down bias to be set on output lines. > > > Use case is for open source or open drain applications where > > > internal pull up/down may conflict with external biasing. > > > > > > Signed-off-by: Kent Gibson <warthog618@xxxxxxxxx> > > > --- > > > drivers/gpio/gpiolib.c | 8 ++++++-- > > > 1 file changed, 6 insertions(+), 2 deletions(-) > > > > > > diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c > > > index 7d8ff52ada42..de08d1a4a3fb 100644 > > > --- a/drivers/gpio/gpiolib.c > > > +++ b/drivers/gpio/gpiolib.c > > > @@ -555,8 +555,9 @@ static int linehandle_create(struct gpio_device *gdev, void __user *ip) > > > (lflags & GPIOHANDLE_REQUEST_OPEN_SOURCE))) > > > return -EINVAL; > > > > > > - /* Bias flags only allowed for input mode. */ > > > - if (!(lflags & GPIOHANDLE_REQUEST_INPUT) && > > > + /* Bias flags only allowed for input or output mode. */ > > > + if (!((lflags & GPIOHANDLE_REQUEST_INPUT) || > > > + (lflags & GPIOHANDLE_REQUEST_OUTPUT)) && > > > ((lflags & GPIOHANDLE_REQUEST_BIAS_DISABLE) || > > > (lflags & GPIOHANDLE_REQUEST_BIAS_PULL_UP) || > > > (lflags & GPIOHANDLE_REQUEST_BIAS_PULL_DOWN))) > > > @@ -3144,6 +3145,9 @@ int gpiod_direction_output(struct gpio_desc *desc, int value) > > > } > > > > > > set_output_value: > > > + ret = gpio_set_bias(gc, desc); > > > + if (ret) > > > + return ret; > > > return gpiod_direction_output_raw_commit(desc, value); > > > > Ugh, I missed one thing here - my for-next branch doesn't contain the > > following commit e735244e2cf0 ("gpiolib: don't clear FLAG_IS_OUT when > > emulating open-drain/open-source") which happens to modify this > > function. > > > > If I provided you with a branch containing it - would it be a lot of > > effort on your part to rebase it on top of it? If so - I can do it > > myself. > > > > I can do a rebase - though not until tomorrow (it is getting late here). > I would like that commit in as well - I suspect it being missing is > the reason a couple of the gpiod tests I was working on are failing. > I was in the process of tracking that down when I switched back to this. > > Cheers, > Kent. > > No problem, it can wait until tomorrow. Please use the following branch - gpio/for-kent - from my tree. Bart