[PATCH 1/2] thermal: add hwmon sys I/F for thermal device

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

 



On Thu, 2008-03-13 at 01:09 -0400, Len Brown wrote:
> > On Tuesday 26 February 2008, Zhang, Rui wrote:
> > > 
> > > Add hwmon sys I/F for the generic thermal device.
> > > 
> > > Signed-off-by: Zhang Rui <rui.zhang at intel.com>
> > > Cc: Hans de Geode <j.w.r.degoede at hhs.nl>
> > > ---
> > >  Documentation/thermal/sysfs-api.txt |   22 ++--
> > >  drivers/thermal/Kconfig             |    1 
> > >  drivers/thermal/thermal.c           |  169 ++++++++++++++++++++++++++++++------
> > >  3 files changed, 155 insertions(+), 37 deletions(-)
> > > 
> ...
> > >  {
> > >  	int result = 0;
> > > @@ -716,16 +829,20 @@ static int __init thermal_init(void)
> > >  		mutex_destroy(&thermal_idr_lock);
> > >  		mutex_destroy(&thermal_list_lock);
> > >  	}
> > > -	return result;
> > > -}
> > >  
> > > -static void __exit thermal_exit(void)
> > > -{
> > > -	class_unregister(&thermal_class);
> > > -	idr_destroy(&thermal_tz_idr);
> > > -	idr_destroy(&thermal_cdev_idr);
> > > -	mutex_destroy(&thermal_idr_lock);
> > > -	mutex_destroy(&thermal_list_lock);
> > > +	thermal_hwmon = hwmon_device_register(NULL);
> > > +	if (IS_ERR(thermal_hwmon)) {
> > > +		result = PTR_ERR(thermal_hwmon);
> > > +		thermal_hwmon = NULL;
> > > +		printk(KERN_ERR PREFIX
> > > +			"unable to register hwmon device\n");
> > > +		thermal_exit();
> 
> An __exit routine can not be called from an __init routine.
> this doesn't build on ia64, which discards .exit sections:
> 
> .exit.text' referenced in section `.init.text' of drivers/built-in.o: defined in discarded section `.exit.text' of drivers/built-in.o
This also happens in drivers/misc/thinkpad_acpi.c.
While this is not used on IA64, it should also be cleaned up on
long-term.

   Thomas






[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux