• Ronald Tschalär's avatar
    ACPI / LPSS: Don't abort ACPI scan on missing mem resource · a4bb2b49
    Ronald Tschalär authored
    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 d3e13ff3 - this restores
    the original behaviour.
    
    Link: https://github.com/cb22/macbook12-spi-driverSigned-off-by: default avatarRonald Tschalär <ronald@innovation.ch>
    Acked-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    a4bb2b49
acpi_lpss.c 26.3 KB