ACPI / LPSS: Don't abort ACPI scan on missing mem resource
authorRonald Tschalär <ronald@innovation.ch>
Wed, 9 Aug 2017 08:15:42 +0000 (01:15 -0700)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 9 Aug 2017 23:41:41 +0000 (01:41 +0200)
commita4bb2b4933557a8afdfe7a930cd68bd31e34a078
tree16a87e2abe6789b469b98d3ef74c3d0a003039ee
parentaae4e7a8bc44722fe70d58920a36916b1043195e
ACPI / LPSS: Don't abort ACPI scan on missing mem resource

The keyboard and touchpad on MacBook's from 2015 onwards are connected
via an SPI bus. On MacBook8's (2015) the ACPI device for the SPI master
for this bus has _CID "INT33C1", and hence the acpi-lpss handler here is
triggered for it. However, the DSDT lists no memory resources for this
device, resulting in an error being returned by the attach callback and
therefore the SPI master device being ignored. This prevents us from
being able to register the keyboard and touchpad driver.

Furthermore, the controller (a Wildcat Point-LP controller) does not
appear to need the functionality provided by the apci-lpss handler.
Therefore we now just skip the handler if no memory resources are found
and let the ACPI scan complete successfully for this device.

All of this is not an issue on later MacBook(Pro)'s because their ACPI
SPI devices don't have any _CID and therefore no attempt is made to attach
this handler.

Returning an error was introduced in commit d3e13ff3c1aa - this restores
the original behaviour.

Link: https://github.com/cb22/macbook12-spi-driver
Signed-off-by: Ronald Tschalär <ronald@innovation.ch>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpi_lpss.c