Re: [PATCH] ACPI / LPSS: Do not instiate a platform_dev for devs without a mmio resource

From: Mika Westerberg
Date: Mon Jan 15 2018 - 04:36:26 EST


On Sun, Jan 14, 2018 at 09:01:48PM +0100, Hans de Goede wrote:
> 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: Hans de Goede <hdegoede@xxxxxxxxxx>

Seems like a good way to fix it IMHO,

Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>