Re: [lm-sensors] [RFC][PATCH] hwmon:fix sparse warnings + error handling

From: Dmitry Torokhov
Date: Mon Aug 21 2006 - 20:41:06 EST


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

--
Dmitry
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/