Created attachment 275151 [details] decompiled dsdt I am trying to enable multitouch support for Elan touchpads found in the HP X2 10-p0xx series. They use i2c with the same packet structure as in elan-i2c-core.c, but the driver is not used. By doing ls /sys/bus/acpi/devices I get no elan acpi id, but only XXXX0000:00. I looked at the dsdt and it seems that the _INI method for this device (TPL1) is never called. $ sudo ./acpidbg -b 'ex \_SB.PCI0.I2C6.TPL1._HID' Evaluating \_SB.PCI0.I2C6.TPL1._HID Evaluation of \_SB.PCI0.I2C6.TPL1._HID returned object 00000000c70e002e, external buffer length 28 [String] Length 08 = "XXXX0000" Calling the _INI manually the correct _HID is set (but still doesn't show up on /sys/bus/acpi/devices): $ sudo ./acpidbg -b 'ex \_SB.PCI0.I2C6.TPL1._INI' Evaluating \_SB.PCI0.I2C6.TPL1._INI Evaluation of \_SB.PCI0.I2C6.TPL1._INI returned object 00000000a3ede7ec, external buffer length 18 [Integer] = 0000000000000001 $ sudo ./acpidbg -b 'ex \_SB.PCI0.I2C6.TPL1._HID' Evaluating \_SB.PCI0.I2C6.TPL1._HID Evaluation of \_SB.PCI0.I2C6.TPL1._HID returned object 00000000a3ede7ec, external buffer length 28 [String] Length 08 = "ELAN2317" The _STA method checks for BDID to be != 1, but instead it is, returning always 0: $ sudo ./acpidbg -b 'ex \_SB.PCI0.I2C6.TPL1._STA' Evaluating \_SB.PCI0.I2C6.TPL1._STA Evaluation of \_SB.PCI0.I2C6.TPL1._STA returned object 000000006bee48dd, external buffer length 18 [Integer] = 0000000000000000 $ sudo ./acpidbg -b 'ex \BDID' Evaluating \BDID Evaluation of \BDID returned object 0000000001f1db34, external buffer length 18 [Integer] = 0000000000000001 I'm not really sure what is the cause of this. I tried on mainline, but also 4.15 had the same problem.
Created attachment 275153 [details] acpidump
This was already solved by this driver in January, and it wasn't an ACPI problem (BDID is the board ID, and that particular elan model was not present in this pc): https://patchwork.kernel.org/patch/10162493/