On Thu, 2015-11-19 at 11:05 +0800, Aaron Lu wrote: > Some ACPI node's _STA will touch operation region field, since the > evaluation of _STA in acpi_bus_type_and_status is very early, the > operation region handler is not ready yet. Instead of fail that > function > and not creating the acpi_device node consequently, set status to 0 > so > that later when the driver for that device is probing, it can find > the acpi_device node and proceed normally. And at that time, the > handler for the operation region is ready and its _STA evaluation > will > succeed, its present status can be checked there. > > Even there will be no driver using this node later, it doesn't seem > hurt to have one more acpi_device node created with status set to 0. > > This happens on Microsoft Surface 3, where the SPI device node NTRG's > _STA touches GPIO fields and the SPI core driver will only enumerate > SPI > devices from ACPI if the acpi_device node is 1: created; 2: _STA > indicates it's present. > > Note that due to another problem in SPI driver, for NTRG to be > actually > enumerated, some changes have to be made in the SPI layer, which is > addressed by Mika(not send out yet): > https://bugzilla.kernel.org/show_bug.cgi?id=104291#c23 > > Buglink: https://bugzilla.kernel.org/show_bug.cgi?id=104291 > Reported-by: Bastien Nocera <bugzilla@xxxxxxxxxx> > Signed-off-by: Aaron Lu <aaron.lu@xxxxxxxxx> Worked for me with the additional SPI patch on a Surface 3. Tested-by: Bastien Nocera <hadess@xxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html