On Friday, November 17, 2017 3:09:04 PM CET Mika Westerberg wrote: > On Fri, Nov 17, 2017 at 02:42:44PM +0100, Rafael J. Wysocki wrote: > > [+Mika & Andy] > > > > On Monday, October 16, 2017 1:44:40 PM CET Hans de Goede wrote: > > > Hi, > > > > > > On 16-10-17 01:47, Rafael J. Wysocki wrote: > > > > 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? > > > > > > A good question. I would expect a change uevent to be generated in > > > this case and when the device has become present in this new uvent the > > > modalias will no longer be empty and the module will get loaded, so > > > the module will not get loaded until the actual hotplug. > > > > > > The actual generation of this uevent should be done by the various > > > subsystems based on ACPI_RECONFIG_DEVICE_ADD messages, at which point > > > adev->status is already updated and then when the subsys calls > > > acpi_device_uevent_modalias() for the new uevent it will return a > > > non-empty modalias. > > > > Mika, I need your input here. > > > > I have to say I'm not quite sure about possible implications of this change, > > what do you think? > > I think this could work because we are actually interested in physical > Linux devices, not the struct acpi_device things. So to my understanding > whenever _STA of an ACPI device goes from 0x0 to 0xf the corresponding > physical device (platform, spi, i2c) gets created. Userspace is then > notified by a uevent and it then reads attributes including updated > modalias of that physical device. OK, I'll queue this up, then. Thanks, Rafael -- 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