All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.