提交 345d52fa 编写于 作者: J Julia Lawall 提交者: Guenter Roeck

hwmon: (ds1621) use permission-specific DEVICE_ATTR variants

Use DEVICE_ATTR_RO for read only attributes and DEVICE_ATTR_RW for
read/write attributes. This simplifies the source code, improves
readbility, and reduces the chance of inconsistencies.

The conversion was done automatically using coccinelle. It was validated
by compiling both the old and the new source code and comparing its text,
data, and bss size.
Signed-off-by: NJulia Lawall <Julia.Lawall@lip6.fr>
[groeck: Updated description]
Signed-off-by: NGuenter Roeck <linux@roeck-us.net>
上级 0acf2a5f
...@@ -263,7 +263,7 @@ static ssize_t set_temp(struct device *dev, struct device_attribute *da, ...@@ -263,7 +263,7 @@ static ssize_t set_temp(struct device *dev, struct device_attribute *da,
return count; return count;
} }
static ssize_t show_alarms(struct device *dev, struct device_attribute *da, static ssize_t alarms_show(struct device *dev, struct device_attribute *da,
char *buf) char *buf)
{ {
struct ds1621_data *data = ds1621_update_client(dev); struct ds1621_data *data = ds1621_update_client(dev);
...@@ -278,15 +278,16 @@ static ssize_t show_alarm(struct device *dev, struct device_attribute *da, ...@@ -278,15 +278,16 @@ static ssize_t show_alarm(struct device *dev, struct device_attribute *da,
return sprintf(buf, "%d\n", !!(data->conf & attr->index)); return sprintf(buf, "%d\n", !!(data->conf & attr->index));
} }
static ssize_t show_convrate(struct device *dev, struct device_attribute *da, static ssize_t update_interval_show(struct device *dev,
char *buf) struct device_attribute *da, char *buf)
{ {
struct ds1621_data *data = dev_get_drvdata(dev); struct ds1621_data *data = dev_get_drvdata(dev);
return scnprintf(buf, PAGE_SIZE, "%hu\n", data->update_interval); return scnprintf(buf, PAGE_SIZE, "%hu\n", data->update_interval);
} }
static ssize_t set_convrate(struct device *dev, struct device_attribute *da, static ssize_t update_interval_store(struct device *dev,
const char *buf, size_t count) struct device_attribute *da,
const char *buf, size_t count)
{ {
struct ds1621_data *data = dev_get_drvdata(dev); struct ds1621_data *data = dev_get_drvdata(dev);
struct i2c_client *client = data->client; struct i2c_client *client = data->client;
...@@ -315,9 +316,8 @@ static ssize_t set_convrate(struct device *dev, struct device_attribute *da, ...@@ -315,9 +316,8 @@ static ssize_t set_convrate(struct device *dev, struct device_attribute *da,
return count; return count;
} }
static DEVICE_ATTR(alarms, S_IRUGO, show_alarms, NULL); static DEVICE_ATTR_RO(alarms);
static DEVICE_ATTR(update_interval, S_IWUSR | S_IRUGO, show_convrate, static DEVICE_ATTR_RW(update_interval);
set_convrate);
static SENSOR_DEVICE_ATTR(temp1_input, S_IRUGO, show_temp, NULL, 0); static SENSOR_DEVICE_ATTR(temp1_input, S_IRUGO, show_temp, NULL, 0);
static SENSOR_DEVICE_ATTR(temp1_min, S_IWUSR | S_IRUGO, show_temp, set_temp, 1); static SENSOR_DEVICE_ATTR(temp1_min, S_IWUSR | S_IRUGO, show_temp, set_temp, 1);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册