Hi Dmitry: * Dmitry Torokhov <dtor at insightbb.com> [2006-08-21 20:43:05 -0400]: > On Monday 21 August 2006 04:04, Jean Delvare wrote: > > > --- linux-work-clean/drivers/hwmon/w83627hf.c 2006-08-20 22:02:40.000000000 +0200 > > > +++ linux-work/drivers/hwmon/w83627hf.c 2006-08-20 22:27:14.000000000 +0200 > > > @@ -513,9 +513,21 @@ static DEVICE_ATTR(in0_max, S_IRUGO | S_ > > > > > > #define device_create_file_in(client, offset) \ > > > do { \ > > > -device_create_file(&client->dev, &dev_attr_in##offset##_input); \ > > > -device_create_file(&client->dev, &dev_attr_in##offset##_min); \ > > > -device_create_file(&client->dev, &dev_attr_in##offset##_max); \ > > > + err = device_create_file(&client->dev, &dev_attr_in##offset##_input); \ > > > + if (err) {\ > > > + hwmon_device_unregister(data->class_dev); \ > > > + return err; \ > > > + } \ > > > + err = device_create_file(&client->dev, &dev_attr_in##offset##_min); \ > > > + if (err) {\ > > > + hwmon_device_unregister(data->class_dev); \ > > > + return err; \ > > > + } \ > > > + err = device_create_file(&client->dev, &dev_attr_in##offset##_max); \ > > > + if (err) {\ > > > + hwmon_device_unregister(data->class_dev); \ > > > + return err; \ > > > + } \ > > > } while (0) > > > > _Never_ use "return" in a macro. It's way too confusing for whoever will > > read the code later. > > > > Also I believe it is good practice to remove created attributes explicitely > instead of relying on sysfs to do the cleanup - I beliee Greg was going to > remove it from sysfs at some point of time... Yep: the patches that are floating on the lm-sensors mailing list do fix this also. Again, see here: http://lists.lm-sensors.org/pipermail/lm-sensors/2006-August/017204.html Regards, -- Mark M. Hoffman mhoffman at lightlink.com