Hi Andy,

> I guess you simply didn't get. The "gpio-line-names" property of GPIO
> *controller* (provider!) and you are trying to do something with the
> *consumer*
> if I got it right.
> 
> And of course GPIO line, which has name, has no difference in use from
> another
> w/o name assigned. You will need to request it by *consumer* either in
> kernel
> or in user space.
> 
> To be more precise we have to look at your DSDT.
> 
> --
> With Best Regards,
> Andy Shevchenko
> 

My SSDT table is:

DefinitionBlock ("gpio_button.aml", "SSDT", 5, "ASEMsp", "GPIO_BTN", 1)
{
        External (_SB_.GPO1, DeviceObj)

        Scope (\_SB.GPO1)
        {
                Device (BTNS)
                {
                        Name (_HID, "PRP0001")
                        Name (_DDN, "GPIO buttons device")

                        Name (_CRS, ResourceTemplate ()
                        {
                                GpioIo (
                                Exclusive,               // Not shared
                                PullNone,                // No need for pulls
                                0,                       // Debounce timeout
                                0,                       // Drive strength
                                IoRestrictionInputOnly,  // Only used as input
                                "\\_SB.GPO1",            // GPIO controller
                                0, ResourceConsumer, , ) // Must be 0
                                {
                                        1,              // GPIO number
                                }
                        })
        
                        Name (_DSD, Package () {
                                ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
                                Package () {
                                        Package () {
                                                "gpio-line-names",
                                                Package () {
                                                        "USER_PUSH_BUTTON",
                                                }
                                        },
                                }
                        })
                }
        }
}

And the kernel messages, after loading the table, are:

ACPI: Host-directed Dynamic ACPI Table Load:
ACPI: SSDT 0xFFFF908274285200 0000E8 (v05 ASEMsp GPIO_BTN 00000001 INTL 
20200717)
ACPI: \_SB_.GPO1.BTNS: PRP0001 requires 'compatible' property

So I need a "consumer", but I don't want to export the GPIO using its number...
If you have any suggestion ...

Thanks!

Flavi

Reply via email to