Hi Guenter, On Sat, 15 Feb 2014 17:26:33 -0800, Guenter Roeck wrote: > With the new hwmon API, all attributes have to be created as groups. > Use sysfs_create_group and sysfs_remove_group instead of device_create_file > and device_remove_file to prepare for the new API. > > Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> > --- > drivers/hwmon/lm90.c | 27 ++++++++++++++++++++++----- > 1 file changed, 22 insertions(+), 5 deletions(-) > > diff --git a/drivers/hwmon/lm90.c b/drivers/hwmon/lm90.c > index 701e952..c3bb771 100644 > --- a/drivers/hwmon/lm90.c > +++ b/drivers/hwmon/lm90.c > @@ -1057,6 +1057,15 @@ static const struct attribute_group lm90_group = { > .attrs = lm90_attributes, > }; > > +static struct attribute *lm90_temp2_offset_attrs[] = { Other groups in this driver use the _attributes suffix, please do the same for new groups for consistency. > + &sensor_dev_attr_temp2_offset.dev_attr.attr, > + NULL > +}; > + > +static const struct attribute_group lm90_temp2_offset_group = { > + .attrs = lm90_temp2_offset_attrs, > +}; > + > /* > * Additional attributes for devices with emergency sensors > */ > @@ -1174,6 +1183,15 @@ static ssize_t set_pec(struct device *dev, struct device_attribute *dummy, > > static DEVICE_ATTR(pec, S_IWUSR | S_IRUGO, show_pec, set_pec); > > +static struct attribute *lm90_pec_attrs[] = { > + &dev_attr_pec.attr, > + NULL > +}; > + > +static const struct attribute_group lm90_pec_group = { > + .attrs = lm90_pec_attrs, > +}; I am worried about this. Later in this patch set you'll move the "pec" attribute from the i2c device to the hwmon class device. However this attribute is very SMBus-specific, and has nothing to do with hwmon. I don't think it makes sense to move this attribute, it should stay with the i2c device. Non-hwmon i2c device drivers could implement it too. > + > /* > * Real code > */ > @@ -1404,8 +1422,8 @@ static void lm90_remove_files(struct i2c_client *client, struct lm90_data *data) > if (data->flags & LM90_HAVE_EMERGENCY) > sysfs_remove_group(&dev->kobj, &lm90_emergency_group); > if (data->flags & LM90_HAVE_OFFSET) > - device_remove_file(dev, &sensor_dev_attr_temp2_offset.dev_attr); > - device_remove_file(dev, &dev_attr_pec); > + sysfs_remove_group(&dev->kobj, &lm90_temp2_offset_group); > + sysfs_remove_group(&dev->kobj, &lm90_pec_group); > sysfs_remove_group(&dev->kobj, &lm90_group); > } > > @@ -1569,13 +1587,12 @@ static int lm90_probe(struct i2c_client *client, > if (err) > goto exit_restore; > if (client->flags & I2C_CLIENT_PEC) { > - err = device_create_file(dev, &dev_attr_pec); > + err = sysfs_create_group(&dev->kobj, &lm90_pec_group); > if (err) > goto exit_remove_files; > } > if (data->flags & LM90_HAVE_OFFSET) { > - err = device_create_file(dev, > - &sensor_dev_attr_temp2_offset.dev_attr); > + err = sysfs_create_group(&dev->kobj, &lm90_temp2_offset_group); > if (err) > goto exit_remove_files; > } -- Jean Delvare Suse L3 Support _______________________________________________ lm-sensors mailing list lm-sensors@xxxxxxxxxxxxxx http://lists.lm-sensors.org/mailman/listinfo/lm-sensors