Re: [PATCH v1 4/8] gpio: acpi: Even more tighten up ACPI GPIO lookups

From: Dmitry Torokhov
Date: Wed Mar 29 2017 - 03:05:20 EST


On Tue, Mar 28, 2017 at 07:31:24PM +0300, Andy Shevchenko wrote:
> On Thu, 2017-03-23 at 13:12 -0700, Dmitry Torokhov wrote:
> > On Thu, Mar 23, 2017 at 09:46:14PM +0200, Andy Shevchenko wrote:
> > > The commit 10cf4899f8af ("gpiolib: tighten up ACPI legacy gpio
> > > lookups")
> > > prevents to getting same resource twice if the driver asks twice
> > > using same
> >
> > s/same/different/
> >
> > > connection ID.
>
> Oh, yeah, though it didn't fix a potential issue described below.
>
> > > But the whole idea of fallback might bring some problems. Imagine
> > > the case when
> > > we have two versions of BIOS/hardware where in one _DSD is
> > > introduced along
> > > with GPIO resources, but the other one uses just plain GPIO resource
> > > for
> > > another purpose
> > >
> > > Case 1:
> > >
> > >     Device (DEVX)
> > >     {
> > >         ...
> > >         Name (_CRS, ResourceTemplate ()
> > >         {
> > >             GpioIo (Exclusive, PullUp, 0, 0, IoRestrictionInputOnly,
> > >                     "\\_SB.GPO0", 0, ResourceConsumer) {15}
> > >         })
> > >         Name (_DSD, Package ()
> > >         {
> > >             ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
> > >             Package ()
> > >             {
> > >                 Package () {"some-gpios", Package() {^DEVX, 0, 0, 0
> > > }},
> > >             }
> > >         })
> > >     }
> > >
> > > Case 2:
> > >
> > >     Device (DEVX)
> > >     {
> > >         ...
> > >         Name (_CRS, ResourceTemplate ()
> > >         {
> > >             GpioIo (Exclusive, PullUp, 0, 0, IoRestrictionInputOnly,
> > >                     "\\_SB.GPO0", 0, ResourceConsumer) {27}
> > >         })
> > >     }
> > >
> > > To prevent the possible misconfiguration tighten up even more ACPI
> > > GPIO lookups
> > > for case without connection ID provided.
>
> > I wonder if this will break Goodix. Irina, Bastien?
>
> It would be helpful if anyone can test it.
>
> Btw, which particular driver do you have in mind that might be broken
> after such change? Ah, Goodix is a vendor of touchscreens, right?

Yes, and it uses named GPIOs.

--
Dmitry