* [patch 04/13] Exit ACPI processor module gracefully if acpi is disabled @ 2007-02-06 0:09 akpm 2007-02-09 5:47 ` Len Brown 0 siblings, 1 reply; 5+ messages in thread From: akpm @ 2007-02-06 0:09 UTC (permalink / raw) To: lenb; +Cc: linux-acpi, akpm, trenn From: Thomas Renninger <trenn@suse.de> Signed-off-by: Thomas Renninger <trenn@suse.de> Cc: Len Brown <lenb@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> --- 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; } _ ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [patch 04/13] Exit ACPI processor module gracefully if acpi is disabled 2007-02-06 0:09 [patch 04/13] Exit ACPI processor module gracefully if acpi is disabled akpm @ 2007-02-09 5:47 ` Len Brown 2007-02-09 8:34 ` Thomas Renninger 0 siblings, 1 reply; 5+ messages in thread From: Len Brown @ 2007-02-09 5:47 UTC (permalink / raw) To: akpm; +Cc: linux-acpi, trenn Why not simply check acpi_disabled, like other drivers do? thanks, -Len On Monday 05 February 2007 19:09, akpm@linux-foundation.org wrote: > From: Thomas Renninger <trenn@suse.de> > > Signed-off-by: Thomas Renninger <trenn@suse.de> > Cc: Len Brown <lenb@kernel.org> > Signed-off-by: Andrew Morton <akpm@linux-foundation.org> > --- > > 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@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [patch 04/13] Exit ACPI processor module gracefully if acpi is disabled 2007-02-09 5:47 ` Len Brown @ 2007-02-09 8:34 ` Thomas Renninger 2007-03-07 8:00 ` Len Brown 0 siblings, 1 reply; 5+ messages in thread From: Thomas Renninger @ 2007-02-09 8:34 UTC (permalink / raw) To: Len Brown; +Cc: akpm, linux-acpi 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 Thomas > thanks, > -Len > > On Monday 05 February 2007 19:09, akpm@linux-foundation.org wrote: > > From: Thomas Renninger <trenn@suse.de> > > > > Signed-off-by: Thomas Renninger <trenn@suse.de> > > Cc: Len Brown <lenb@kernel.org> > > Signed-off-by: Andrew Morton <akpm@linux-foundation.org> > > --- > > > > 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@vger.kernel.org > > More majordomo info at http://vger.kernel.org/majordomo-info.html > > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [patch 04/13] Exit ACPI processor module gracefully if acpi is disabled 2007-02-09 8:34 ` Thomas Renninger @ 2007-03-07 8:00 ` Len Brown 2007-03-08 13:20 ` Thomas Renninger 0 siblings, 1 reply; 5+ messages in thread From: Len Brown @ 2007-03-07 8:00 UTC (permalink / raw) To: trenn, cpufreq; +Cc: akpm, linux-acpi 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@linux-foundation.org wrote: > > > From: Thomas Renninger <trenn@suse.de> > > > > > > Signed-off-by: Thomas Renninger <trenn@suse.de> > > > Cc: Len Brown <lenb@kernel.org> > > > Signed-off-by: Andrew Morton <akpm@linux-foundation.org> > > > --- > > > > > > 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@vger.kernel.org > > > 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@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [patch 04/13] Exit ACPI processor module gracefully if acpi is disabled 2007-03-07 8:00 ` Len Brown @ 2007-03-08 13:20 ` Thomas Renninger 0 siblings, 0 replies; 5+ messages in thread From: Thomas Renninger @ 2007-03-08 13:20 UTC (permalink / raw) To: Len Brown; +Cc: cpufreq, akpm, linux-acpi On Wed, 2007-03-07 at 03:00 -0500, Len Brown wrote: > 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? But all this sounds like a lot work? Can you just add the patch for now, to solve the "oops or whatever bad happened when booted without acpi and processor module gets unloaded"? Thanks, Thomas > -Len > > > > > On Monday 05 February 2007 19:09, akpm@linux-foundation.org wrote: > > > > From: Thomas Renninger <trenn@suse.de> > > > > > > > > Signed-off-by: Thomas Renninger <trenn@suse.de> > > > > Cc: Len Brown <lenb@kernel.org> > > > > Signed-off-by: Andrew Morton <akpm@linux-foundation.org> > > > > --- > > > > > > > > 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@vger.kernel.org > > > > 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@vger.kernel.org > > 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@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Thomas Renninger Research and Developement Departement SUSE LINUX Products GmbH, Maxfeldstr. 5, D - 90409 Nürnberg Phone: +49 (0)911 - 740 53 675 e-mail: trenn@suse.de SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg) - To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2007-03-08 13:20 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2007-02-06 0:09 [patch 04/13] Exit ACPI processor module gracefully if acpi is disabled akpm 2007-02-09 5:47 ` Len Brown 2007-02-09 8:34 ` Thomas Renninger 2007-03-07 8:00 ` Len Brown 2007-03-08 13:20 ` Thomas Renninger
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.