Re: [PATCH 1/3] gpio: mockup: fix indicated direction

From: Uwe Kleine-König
Date: Fri Nov 09 2018 - 08:10:42 EST


Hello,

On Fri, Nov 09, 2018 at 01:24:36PM +0100, Bartosz Golaszewski wrote:
> pt., 9 lis 2018 o 12:54 Uwe Kleine-KÃnig
> <u.kleine-koenig@xxxxxxxxxxxxxx> napisaÅ(a):
> > On Fri, Nov 09, 2018 at 12:13:44PM +0100, Bartosz Golaszewski wrote:
> > > czw., 8 lis 2018 o 21:35 Uwe Kleine-KÃnig
> > > <u.kleine-koenig@xxxxxxxxxxxxxx> napisaÅ(a):
> > > > On Thu, Nov 08, 2018 at 05:52:53PM +0100, Bartosz Golaszewski wrote:
> > > > > Commit 3edfb7bd76bd ("gpiolib: Show correct direction from the
> > > > > beginning") fixed an existing issue but broke libgpiod tests by
> > > > > changing the default direction of dummy lines to output.
> > > >
> > > > The indicated commit only changed what was shown in debugfs, but didn't
> > > > touch the actual direction of a GPIO, doesn't it? If someone called
> > > > gpiod_get_direction before it would have returned "output", too, unless
> > > > I miss something.
> > > >
> > >
> > > This commit (3edfb7bd76bd) sets the correct direction of the line by
> > > actually calling get_direction() instead of assuming input if
> > > direction_input is not NULL. It just so happened that previously the
> > > default direction of gpio-mockup lines was output but it would be
> > > displayed as input due to this inconsistency.
> >
> > Does the test that fails since 3edfb7bd76bd use debugfs/gpio to find out
> > the direction of a gpio? I'd say it's a bad idea to depend on this as
> > (AFAICT) debugfs is only a debug aid and you shouldn't depend on stuff
> > contained in it.
>
> No, this is what we get from the LINEINFO ioctl(). I only use debugfs
> for triggering dummy interrupts.

A right, gpio_ioctl uses these flags, too.

> > I'd weaken the commit log a bit to not claim that the commit broke
> > libgpiod but that it only made the inconsistency visible. After all this
> > commit didn't "change the default direction of dummy lines to output",
> > they were an output already before.
>
> Well it did break the tests you know. ;)

Which test failed exactly?

Best regards
Uwe

--
Pengutronix e.K. | Uwe Kleine-KÃnig |
Industrial Linux Solutions | http://www.pengutronix.de/ |