On Tuesday 15 December 2009 06:08:30 pm ykzhao wrote: > On Tue, 2009-12-15 at 23:27 +0800, Bjorn Helgaas wrote: > > If we want the opregion code only for ACPI devices, the easiest way > > to accomplish this is to set it up when we discover the ACPI device. > > It's much harder to do it later, because you have to look through all > > the IPMI interfaces and figure out which ones are ACPI devices. > > To discover the ACPI device happens very early. So it is inappropriate > to install the IPMI opregion space handler for ACPI in the phase of > discovering the ACPI device. > > But We can put the ACPI detection mechanism in the first order and we > can record which IPMI smi_info is registered by ACPI mechanism. Then we > can install the IPMI opregion space handler for the corresponding IPMI > device. ipmi_pnp_probe() does not happen very early. If ipmi_si_intf.c is built statically, it happens during driver init; otherwise it happens when the module is loaded. Either way, I think ipmi_si_intf.c will discover the IPI0001 device after all the Linux/ACPI core stuff is initialized, so I don't see the problem with installing the opregion handler immediately. If you see a specific problem, please point it out. Bjorn -- 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