[lm-sensors] [PATCH 1/2] thermal: add hwmon sys I/F for thermal device
Len Brown
lenb at kernel.org
Thu Mar 13 06:09:45 CET 2008
> 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);
More information about the lm-sensors
mailing list