[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 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

-Len

> > +		return result;
> > +	}
> > +
> > +	result = device_create_file(thermal_hwmon, &dev_attr_name);
> > +
> > +	return result;
> >  }
> >  
> >  subsys_initcall(thermal_init);




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

  Powered by Linux