On Saturday, February 02, 2013 09:15:37 PM Rafael J. Wysocki wrote: > On Saturday, February 02, 2013 03:58:01 PM Greg KH wrote: [...] > > > I know it's more complicated with these types of devices, and I think we > > are getting closer to the correct solution, I just don't want to ever > > see duplicate devices in the driver model for the same physical device. > > Do you mean two things based on struct device for the same hardware component? > That's been happening already pretty much forever for every PCI device known > to the ACPI layer, for PNP and many others. However, those ACPI things are (or > rather should be, but we're going to clean that up) only for convenience (to be > able to see the namespace structure and related things in sysfs). So the stuff > under /sys/devices/LNXSYSTM\:00/ is not "real". In my view it shouldn't even > be under /sys/devices/ (/sys/firmware/acpi/ seems to be a better place for it), > but that may be difficult to change without breaking user space (maybe we can > just symlink it from /sys/devices/ or something). And the ACPI bus type > shouldn't even exist in my opinion. Well, well. In fact, the appended patch moves the whole ACPI device nodes tree under /sys/firmware/acpi/ and I'm not seeing any negative consequences of that on my test box (events work and so on). User space is quite new on it, though, and the patch is hackish. Still ... --- Prototype, no sign-off --- drivers/acpi/scan.c | 2 ++ 1 file changed, 2 insertions(+) Index: linux-pm/drivers/acpi/scan.c =================================================================== --- linux-pm.orig/drivers/acpi/scan.c +++ linux-pm/drivers/acpi/scan.c @@ -1443,6 +1443,8 @@ void acpi_init_device_object(struct acpi device->flags.match_driver = false; device_initialize(&device->dev); dev_set_uevent_suppress(&device->dev, true); + if (handle == ACPI_ROOT_OBJECT) + device->dev.kobj.parent = acpi_kobj; } void acpi_device_add_finalize(struct acpi_device *device) -- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center. -- 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