Source
157
157
158
158
/*
159
159
* TEMP: 0.001C/bit (-128C to +127C)
160
160
* REG: 1C/bit, two's complement
161
161
*/
162
162
static int temp_from_reg(u8 reg)
163
163
{
164
164
return (s8)reg * 1000;
165
165
}
166
166
167
-
static ssize_t show_temp(struct device *dev, struct device_attribute
168
-
*devattr, char *buf)
167
+
static ssize_t temp_show(struct device *dev, struct device_attribute *devattr,
168
+
char *buf)
169
169
{
170
170
struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
171
171
struct smsc47b397_data *data = smsc47b397_update_device(dev);
172
172
return sprintf(buf, "%d\n", temp_from_reg(data->temp[attr->index]));
173
173
}
174
174
175
-
static SENSOR_DEVICE_ATTR(temp1_input, S_IRUGO, show_temp, NULL, 0);
176
-
static SENSOR_DEVICE_ATTR(temp2_input, S_IRUGO, show_temp, NULL, 1);
177
-
static SENSOR_DEVICE_ATTR(temp3_input, S_IRUGO, show_temp, NULL, 2);
178
-
static SENSOR_DEVICE_ATTR(temp4_input, S_IRUGO, show_temp, NULL, 3);
175
+
static SENSOR_DEVICE_ATTR_RO(temp1_input, temp, 0);
176
+
static SENSOR_DEVICE_ATTR_RO(temp2_input, temp, 1);
177
+
static SENSOR_DEVICE_ATTR_RO(temp3_input, temp, 2);
178
+
static SENSOR_DEVICE_ATTR_RO(temp4_input, temp, 3);
179
179
180
180
/*
181
181
* FAN: 1 RPM/bit
182
182
* REG: count of 90kHz pulses / revolution
183
183
*/
184
184
static int fan_from_reg(u16 reg)
185
185
{
186
186
if (reg == 0 || reg == 0xffff)
187
187
return 0;
188
188
return 90000 * 60 / reg;
189
189
}
190
190
191
-
static ssize_t show_fan(struct device *dev, struct device_attribute
192
-
*devattr, char *buf)
191
+
static ssize_t fan_show(struct device *dev, struct device_attribute *devattr,
192
+
char *buf)
193
193
{
194
194
struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
195
195
struct smsc47b397_data *data = smsc47b397_update_device(dev);
196
196
return sprintf(buf, "%d\n", fan_from_reg(data->fan[attr->index]));
197
197
}
198
-
static SENSOR_DEVICE_ATTR(fan1_input, S_IRUGO, show_fan, NULL, 0);
199
-
static SENSOR_DEVICE_ATTR(fan2_input, S_IRUGO, show_fan, NULL, 1);
200
-
static SENSOR_DEVICE_ATTR(fan3_input, S_IRUGO, show_fan, NULL, 2);
201
-
static SENSOR_DEVICE_ATTR(fan4_input, S_IRUGO, show_fan, NULL, 3);
198
+
static SENSOR_DEVICE_ATTR_RO(fan1_input, fan, 0);
199
+
static SENSOR_DEVICE_ATTR_RO(fan2_input, fan, 1);
200
+
static SENSOR_DEVICE_ATTR_RO(fan3_input, fan, 2);
201
+
static SENSOR_DEVICE_ATTR_RO(fan4_input, fan, 3);
202
202
203
203
static struct attribute *smsc47b397_attrs[] = {
204
204
&sensor_dev_attr_temp1_input.dev_attr.attr,
205
205
&sensor_dev_attr_temp2_input.dev_attr.attr,
206
206
&sensor_dev_attr_temp3_input.dev_attr.attr,
207
207
&sensor_dev_attr_temp4_input.dev_attr.attr,
208
208
&sensor_dev_attr_fan1_input.dev_attr.attr,
209
209
&sensor_dev_attr_fan2_input.dev_attr.attr,
210
210
&sensor_dev_attr_fan3_input.dev_attr.attr,
211
211
&sensor_dev_attr_fan4_input.dev_attr.attr,