the original cpuidle prototype supported multiple driver registration,
but no production use for it could be imagined, and so it was deleted.
Subsequently on x86, we added intel_idle to replace acpi_idle
and a typical kernel will have them both built in.
We still don't allow mutliple registrations, we just arrange
affairs such that the preferred intel_idle probes before
the backup, acpi_idle. If intel_idle recognizes the platform,
its probe succeeds, else acpi_idle gets a go.
If there is a problem with intel_idle, or a comparison needs to be made,
a bootparam is available to tell intel_idle not to probe.
This mechanism takes approximately 10 lines of code -- the bootparam
to disable the preferred driver.
What is the benefit of all the code to support the feature of run-time
multiple driver registration and switching?
thanks,
Len Brown, Intel Open Source Technology Center