• Andy Shevchenko's avatar
    gpio: acpi: Even more tighten up ACPI GPIO lookups · f10e4bf6
    Andy Shevchenko authored
    The commit 10cf4899 ("gpiolib: tighten up ACPI legacy gpio lookups")
    prevents to getting same resource twice if the driver asks twice using
    different connection ID.
    
    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 GPIO ACPI lookups
    for case without connection ID provided.
    
    In the past the issue had been triggered by "use mctrl_gpio helpers" series
    [1,2].
    
    [1] commit 4ef03d32 ("tty/serial/8250: use mctrl_gpio helpers")
    [2] https://patchwork.kernel.org/patch/9283745/
    
    Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Cc: Bastien Nocera <hadess@hadess.net>
    Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
    Tested-by: default avatarJarkko Nikula <jarkko.nikula@linux.intel.com>
    Reviewed-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    f10e4bf6
gpiolib-acpi.c 27.8 KB