Hello, Wolfram you are 100% right. My first patch didn't solve the problem. Please see v2. Sergey On (03/22/10 14:31), Wolfram Sang wrote: > On Mon, Mar 22, 2010 at 03:15:08PM +0200, Sergey Senozhatsky wrote: > > Initialize sysfs attributes before device_create_file call. > > > > Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> > > --- > > > > diff --git a/drivers/thermal/thermal_sys.c b/drivers/thermal/thermal_sys.c > > index 5066de5..a76a6ff 100644 > > --- a/drivers/thermal/thermal_sys.c > > +++ b/drivers/thermal/thermal_sys.c > > @@ -492,6 +492,7 @@ thermal_add_hwmon_sysfs(struct thermal_zone_device *tz) > > goto free_mem; > > } > > dev_set_drvdata(hwmon->device, hwmon); > > + sysfs_attr_init(&dev_attr_name.attr); > > result = device_create_file(hwmon->device, &dev_attr_name); > > This one should not be needed? Is declared static in line 426. > > > if (result) > > goto unregister_hwmon_device; > > @@ -505,6 +506,7 @@ thermal_add_hwmon_sysfs(struct thermal_zone_device *tz) > > tz->temp_input.attr.attr.name = tz->temp_input.name; > > tz->temp_input.attr.attr.mode = 0444; > > tz->temp_input.attr.show = temp_input_show; > > + sysfs_attr_init(&tz->temp_input.attr.attr); > > result = device_create_file(hwmon->device, &tz->temp_input.attr); > > if (result) > > goto unregister_hwmon_device; > > @@ -517,6 +519,7 @@ thermal_add_hwmon_sysfs(struct thermal_zone_device *tz) > > tz->temp_crit.attr.attr.name = tz->temp_crit.name; > > tz->temp_crit.attr.attr.mode = 0444; > > tz->temp_crit.attr.show = temp_crit_show; > > + sysfs_attr_init(&tz->temp_crit.attr.attr); > > Those encapsuled attributes are trickier to find, sigh... > > Regards, > > Wolfram >
Attachment:
pgpQ3UOS38PL7.pgp
Description: PGP signature