• H
    ACPI / LPSS: Do not instiate platform_dev for devs without MMIO resources · e1681599
    Hans de Goede 提交于
    acpi_lpss_create_device() skips handling LPSS devices which do not have
    a mmio resources in their resource list (typically these devices are
    disabled by the firmware). But since the LPSS code does not bind to the
    device, acpi_bus_attach() ends up still creating a platform device for
    it and the regular platform_driver for the ACPI HID still tries to bind
    to it.
    
    This happens e.g. on some boards which do not use the pwm-controller
    and have an empty or invalid resource-table for it. Currently this causes
    these error messages to get logged:
    
    [    3.281966] pwm-lpss 80862288:00: invalid resource
    [    3.287098] pwm-lpss: probe of 80862288:00 failed with error -22
    
    This commit stops the undesirable creation of a platform_device for
    disabled LPSS devices by setting pnp.type.platform_id to 0. Note that
    acpi_scan_attach_handler() also sets pnp.type.platform_id to 0 when there
    is a matching handler for the device and that handler has no attach
    callback, so we simply behave as a handler without an attach function
    in this case.
    Signed-off-by: NHans de Goede <hdegoede@redhat.com>
    Acked-by: NMika Westerberg <mika.westerberg@linux.intel.com>
    Reviewed-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
    e1681599
acpi_lpss.c 30.0 KB