Re: [PATCH] ACPI / device_sysfs: Leave modalias empty for devices which are not present

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Oct 15, 2017 at 9:24 PM, Hans de Goede <hdegoede@xxxxxxxxxx> wrote:
> Most Bay and Cherry Trail devices use a generic DSDT with all possible
> peripheral devices present in the DSDT, with their _STA returning 0x00 or
> 0x0f based on AML variables which describe what is actually present on
> the board.
>
> Since ACPI device objects with a 0x00 status (not present) still get an
> entry under /sys/bus/acpi/devices, and those entry had an acpi:PNPID
> modalias, userspace would end up loading modules for non present hardware.
>
> This commit fixes this by leaving the modalias empty for non present
> devices. This results in 10 modules less being loaded with a generic
> distro kernel config on my Cherry Trail test-device (a GPD pocket).

Well, what about hotplug?

On some systems _STA may change from 0 to nonzero for some devices, so
what's going to happen to the modalias then?

> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
> ---
>  drivers/acpi/device_sysfs.c | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/drivers/acpi/device_sysfs.c b/drivers/acpi/device_sysfs.c
> index 24418932612e..a041689e5701 100644
> --- a/drivers/acpi/device_sysfs.c
> +++ b/drivers/acpi/device_sysfs.c
> @@ -146,6 +146,10 @@ static int create_pnp_modalias(struct acpi_device *acpi_dev, char *modalias,
>         int count;
>         struct acpi_hardware_id *id;
>
> +       /* Avoid unnecessarily loading modules for non present devices. */
> +       if (!acpi_device_is_present(acpi_dev))
> +               return 0;
> +
>         /*
>          * Since we skip ACPI_DT_NAMESPACE_HID from the modalias below, 0 should
>          * be returned if ACPI_DT_NAMESPACE_HID is the only ACPI/PNP ID in the
> --
--
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



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux