Re: [patch 04/13] Exit ACPI processor module gracefully if acpi is disabled

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux