On Friday 09 February 2007 03:34, Thomas Renninger wrote: > On Fri, 2007-02-09 at 00:47 -0500, Len Brown wrote: > > Why not simply check acpi_disabled, like other drivers do? > > > See comment from Dominik when I sent something similar some time ago: > http://marc.theaimsgroup.com/?l=linux-acpi&m=114563882012355&w=2 Dominik is right right driver registration should fail w/o a check for acpi_disabled. However, we use acpi_disabled all over the place already when that is not sufficient, so if we need it here, we can use it.. >> [Dominik wrote] >> No. For example powernow-k8 and speedstep-centrino do have a dependency on a >> function which is exported by processor_perflib.c. THis means you cannot >> load these modules (which can run without ACPI support) if loading the >> processor module fails. Therefore its init function must not fail. Blech, so the drivers that can be either native or ACPI can't link in native mode unless their ACPI processor driver symbols resolve? Hmmm. Perhaps we should delete the ACPI part of speedstep_centrino now that it is deprecated by acpi-cpufreq? That way it can be just a native driver for folks who want to run with hard-coded tables and no ACPI. Or perhaps at this point we should delete speedstep_centrino entirely? Looks like powernow-k7.c and powernow-k8.c have the same issue -- acpi_processor_register_performance() ain't gonna resolve if the acpi processor driver isn't present. Perhaps they can be split into native and ACPI drivers? -Len > > On Monday 05 February 2007 19:09, akpm@xxxxxxxxxxxxxxxxxxxx wrote: > > > From: Thomas Renninger <trenn@xxxxxxx> > > > > > > Signed-off-by: Thomas Renninger <trenn@xxxxxxx> > > > Cc: Len Brown <lenb@xxxxxxxxxx> > > > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > > > --- > > > > > > drivers/acpi/processor_core.c | 13 +++++++++---- > > > 1 file changed, 9 insertions(+), 4 deletions(-) > > > > > > diff -puN drivers/acpi/processor_core.c~exit-acpi-processor-module-gracefully-if-acpi-is-disabled drivers/acpi/processor_core.c > > > --- a/drivers/acpi/processor_core.c~exit-acpi-processor-module-gracefully-if-acpi-is-disabled > > > +++ a/drivers/acpi/processor_core.c > > > @@ -994,6 +994,8 @@ void acpi_processor_uninstall_hotplug_no > > > * ACPI, but needs symbols from this driver > > > */ > > > > > > +static int processor_driver_registered; > > > + > > > static int __init acpi_processor_init(void) > > > { > > > int result = 0; > > > @@ -1019,6 +1021,8 @@ static int __init acpi_processor_init(vo > > > return result; > > > } > > > > > > + processor_driver_registered = 1; > > > + > > > acpi_processor_install_hotplug_notify(); > > > > > > acpi_thermal_cpufreq_init(); > > > @@ -1035,12 +1039,13 @@ static void __exit acpi_processor_exit(v > > > > > > acpi_thermal_cpufreq_exit(); > > > > > > - acpi_processor_uninstall_hotplug_notify(); > > > - > > > - acpi_bus_unregister_driver(&acpi_processor_driver); > > > + if (processor_driver_registered) { > > > + acpi_processor_uninstall_hotplug_notify(); > > > > > > - remove_proc_entry(ACPI_PROCESSOR_CLASS, acpi_root_dir); > > > + acpi_bus_unregister_driver(&acpi_processor_driver); > > > > > > + remove_proc_entry(ACPI_PROCESSOR_CLASS, acpi_root_dir); > > > + } > > > return; > > > } > > > > > > _ > > > - > > > 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 > > > > > - > 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 > - 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