aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hwmon
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2018-12-10 17:02:18 -0500
committerGuenter Roeck <linux@roeck-us.net>2019-02-18 17:23:29 -0500
commiteba42d30fb11377e731cfea9ab65802177b81cde (patch)
tree5d61cd1e56beb9bf7b1dc7499777c6bb83076779 /drivers/hwmon
parentf0faf62c71a9a9a7dfeb76988738de50b517bab1 (diff)
hwmon: (pc87360) Use permission specific SENSOR[_DEVICE]_ATTR variants
Use SENSOR[_DEVICE]_ATTR[_2]_{RO,RW,WO} to simplify the source code, to improve readability, and to reduce the chance of inconsistencies. Also replace any remaining S_<PERMS> in the driver with octal values. The conversion was done automatically with coccinelle. The semantic patches and the scripts used to generate this commit log are available at https://github.com/groeck/coccinelle-patches/hwmon/. This patch does not introduce functional changes. It was verified by compiling the old and new files and comparing text and data sizes. Cc: Jim Cromie <jim.cromie@gmail.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Diffstat (limited to 'drivers/hwmon')
-rw-r--r--drivers/hwmon/pc87360.c427
1 files changed, 204 insertions, 223 deletions
diff --git a/drivers/hwmon/pc87360.c b/drivers/hwmon/pc87360.c
index 7e3697727537..56584f9ab803 100644
--- a/drivers/hwmon/pc87360.c
+++ b/drivers/hwmon/pc87360.c
@@ -254,7 +254,7 @@ static struct platform_driver pc87360_driver = {
254 * Sysfs stuff 254 * Sysfs stuff
255 */ 255 */
256 256
257static ssize_t show_fan_input(struct device *dev, 257static ssize_t fan_input_show(struct device *dev,
258 struct device_attribute *devattr, char *buf) 258 struct device_attribute *devattr, char *buf)
259{ 259{
260 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); 260 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
@@ -262,7 +262,7 @@ static ssize_t show_fan_input(struct device *dev,
262 return sprintf(buf, "%u\n", FAN_FROM_REG(data->fan[attr->index], 262 return sprintf(buf, "%u\n", FAN_FROM_REG(data->fan[attr->index],
263 FAN_DIV_FROM_REG(data->fan_status[attr->index]))); 263 FAN_DIV_FROM_REG(data->fan_status[attr->index])));
264} 264}
265static ssize_t show_fan_min(struct device *dev, 265static ssize_t fan_min_show(struct device *dev,
266 struct device_attribute *devattr, char *buf) 266 struct device_attribute *devattr, char *buf)
267{ 267{
268 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); 268 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
@@ -270,7 +270,7 @@ static ssize_t show_fan_min(struct device *dev,
270 return sprintf(buf, "%u\n", FAN_FROM_REG(data->fan_min[attr->index], 270 return sprintf(buf, "%u\n", FAN_FROM_REG(data->fan_min[attr->index],
271 FAN_DIV_FROM_REG(data->fan_status[attr->index]))); 271 FAN_DIV_FROM_REG(data->fan_status[attr->index])));
272} 272}
273static ssize_t show_fan_div(struct device *dev, 273static ssize_t fan_div_show(struct device *dev,
274 struct device_attribute *devattr, char *buf) 274 struct device_attribute *devattr, char *buf)
275{ 275{
276 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); 276 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
@@ -278,7 +278,7 @@ static ssize_t show_fan_div(struct device *dev,
278 return sprintf(buf, "%u\n", 278 return sprintf(buf, "%u\n",
279 FAN_DIV_FROM_REG(data->fan_status[attr->index])); 279 FAN_DIV_FROM_REG(data->fan_status[attr->index]));
280} 280}
281static ssize_t show_fan_status(struct device *dev, 281static ssize_t fan_status_show(struct device *dev,
282 struct device_attribute *devattr, char *buf) 282 struct device_attribute *devattr, char *buf)
283{ 283{
284 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); 284 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
@@ -286,9 +286,9 @@ static ssize_t show_fan_status(struct device *dev,
286 return sprintf(buf, "%u\n", 286 return sprintf(buf, "%u\n",
287 FAN_STATUS_FROM_REG(data->fan_status[attr->index])); 287 FAN_STATUS_FROM_REG(data->fan_status[attr->index]));
288} 288}
289static ssize_t set_fan_min(struct device *dev, 289static ssize_t fan_min_store(struct device *dev,
290 struct device_attribute *devattr, const char *buf, 290 struct device_attribute *devattr,
291 size_t count) 291 const char *buf, size_t count)
292{ 292{
293 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); 293 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
294 struct pc87360_data *data = dev_get_drvdata(dev); 294 struct pc87360_data *data = dev_get_drvdata(dev);
@@ -325,24 +325,24 @@ static ssize_t set_fan_min(struct device *dev,
325} 325}
326 326
327static struct sensor_device_attribute fan_input[] = { 327static struct sensor_device_attribute fan_input[] = {
328 SENSOR_ATTR(fan1_input, S_IRUGO, show_fan_input, NULL, 0), 328 SENSOR_ATTR_RO(fan1_input, fan_input, 0),
329 SENSOR_ATTR(fan2_input, S_IRUGO, show_fan_input, NULL, 1), 329 SENSOR_ATTR_RO(fan2_input, fan_input, 1),
330 SENSOR_ATTR(fan3_input, S_IRUGO, show_fan_input, NULL, 2), 330 SENSOR_ATTR_RO(fan3_input, fan_input, 2),
331}; 331};
332static struct sensor_device_attribute fan_status[] = { 332static struct sensor_device_attribute fan_status[] = {
333 SENSOR_ATTR(fan1_status, S_IRUGO, show_fan_status, NULL, 0), 333 SENSOR_ATTR_RO(fan1_status, fan_status, 0),
334 SENSOR_ATTR(fan2_status, S_IRUGO, show_fan_status, NULL, 1), 334 SENSOR_ATTR_RO(fan2_status, fan_status, 1),
335 SENSOR_ATTR(fan3_status, S_IRUGO, show_fan_status, NULL, 2), 335 SENSOR_ATTR_RO(fan3_status, fan_status, 2),
336}; 336};
337static struct sensor_device_attribute fan_div[] = { 337static struct sensor_device_attribute fan_div[] = {
338 SENSOR_ATTR(fan1_div, S_IRUGO, show_fan_div, NULL, 0), 338 SENSOR_ATTR_RO(fan1_div, fan_div, 0),
339 SENSOR_ATTR(fan2_div, S_IRUGO, show_fan_div, NULL, 1), 339 SENSOR_ATTR_RO(fan2_div, fan_div, 1),
340 SENSOR_ATTR(fan3_div, S_IRUGO, show_fan_div, NULL, 2), 340 SENSOR_ATTR_RO(fan3_div, fan_div, 2),
341}; 341};
342static struct sensor_device_attribute fan_min[] = { 342static struct sensor_device_attribute fan_min[] = {
343 SENSOR_ATTR(fan1_min, S_IWUSR | S_IRUGO, show_fan_min, set_fan_min, 0), 343 SENSOR_ATTR_RW(fan1_min, fan_min, 0),
344 SENSOR_ATTR(fan2_min, S_IWUSR | S_IRUGO, show_fan_min, set_fan_min, 1), 344 SENSOR_ATTR_RW(fan2_min, fan_min, 1),
345 SENSOR_ATTR(fan3_min, S_IWUSR | S_IRUGO, show_fan_min, set_fan_min, 2), 345 SENSOR_ATTR_RW(fan3_min, fan_min, 2),
346}; 346};
347 347
348#define FAN_UNIT_ATTRS(X) \ 348#define FAN_UNIT_ATTRS(X) \
@@ -353,7 +353,7 @@ static struct sensor_device_attribute fan_min[] = {
353 NULL \ 353 NULL \
354} 354}
355 355
356static ssize_t show_pwm(struct device *dev, struct device_attribute *devattr, 356static ssize_t pwm_show(struct device *dev, struct device_attribute *devattr,
357 char *buf) 357 char *buf)
358{ 358{
359 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); 359 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
@@ -363,8 +363,8 @@ static ssize_t show_pwm(struct device *dev, struct device_attribute *devattr,
363 FAN_CONFIG_INVERT(data->fan_conf, 363 FAN_CONFIG_INVERT(data->fan_conf,
364 attr->index))); 364 attr->index)));
365} 365}
366static ssize_t set_pwm(struct device *dev, struct device_attribute *devattr, 366static ssize_t pwm_store(struct device *dev, struct device_attribute *devattr,
367 const char *buf, size_t count) 367 const char *buf, size_t count)
368{ 368{
369 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); 369 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
370 struct pc87360_data *data = dev_get_drvdata(dev); 370 struct pc87360_data *data = dev_get_drvdata(dev);
@@ -385,9 +385,9 @@ static ssize_t set_pwm(struct device *dev, struct device_attribute *devattr,
385} 385}
386 386
387static struct sensor_device_attribute pwm[] = { 387static struct sensor_device_attribute pwm[] = {
388 SENSOR_ATTR(pwm1, S_IWUSR | S_IRUGO, show_pwm, set_pwm, 0), 388 SENSOR_ATTR_RW(pwm1, pwm, 0),
389 SENSOR_ATTR(pwm2, S_IWUSR | S_IRUGO, show_pwm, set_pwm, 1), 389 SENSOR_ATTR_RW(pwm2, pwm, 1),
390 SENSOR_ATTR(pwm3, S_IWUSR | S_IRUGO, show_pwm, set_pwm, 2), 390 SENSOR_ATTR_RW(pwm3, pwm, 2),
391}; 391};
392 392
393static struct attribute *pc8736x_fan_attr[][5] = { 393static struct attribute *pc8736x_fan_attr[][5] = {
@@ -402,7 +402,7 @@ static const struct attribute_group pc8736x_fan_attr_group[] = {
402 { .attrs = pc8736x_fan_attr[2], }, 402 { .attrs = pc8736x_fan_attr[2], },
403}; 403};
404 404
405static ssize_t show_in_input(struct device *dev, 405static ssize_t in_input_show(struct device *dev,
406 struct device_attribute *devattr, char *buf) 406 struct device_attribute *devattr, char *buf)
407{ 407{
408 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); 408 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
@@ -410,7 +410,7 @@ static ssize_t show_in_input(struct device *dev,
410 return sprintf(buf, "%u\n", IN_FROM_REG(data->in[attr->index], 410 return sprintf(buf, "%u\n", IN_FROM_REG(data->in[attr->index],
411 data->in_vref)); 411 data->in_vref));
412} 412}
413static ssize_t show_in_min(struct device *dev, 413static ssize_t in_min_show(struct device *dev,
414 struct device_attribute *devattr, char *buf) 414 struct device_attribute *devattr, char *buf)
415{ 415{
416 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); 416 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
@@ -418,7 +418,7 @@ static ssize_t show_in_min(struct device *dev,
418 return sprintf(buf, "%u\n", IN_FROM_REG(data->in_min[attr->index], 418 return sprintf(buf, "%u\n", IN_FROM_REG(data->in_min[attr->index],
419 data->in_vref)); 419 data->in_vref));
420} 420}
421static ssize_t show_in_max(struct device *dev, 421static ssize_t in_max_show(struct device *dev,
422 struct device_attribute *devattr, char *buf) 422 struct device_attribute *devattr, char *buf)
423{ 423{
424 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); 424 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
@@ -426,15 +426,16 @@ static ssize_t show_in_max(struct device *dev,
426 return sprintf(buf, "%u\n", IN_FROM_REG(data->in_max[attr->index], 426 return sprintf(buf, "%u\n", IN_FROM_REG(data->in_max[attr->index],
427 data->in_vref)); 427 data->in_vref));
428} 428}
429static ssize_t show_in_status(struct device *dev, 429static ssize_t in_status_show(struct device *dev,
430 struct device_attribute *devattr, char *buf) 430 struct device_attribute *devattr, char *buf)
431{ 431{
432 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); 432 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
433 struct pc87360_data *data = pc87360_update_device(dev); 433 struct pc87360_data *data = pc87360_update_device(dev);
434 return sprintf(buf, "%u\n", data->in_status[attr->index]); 434 return sprintf(buf, "%u\n", data->in_status[attr->index]);
435} 435}
436static ssize_t set_in_min(struct device *dev, struct device_attribute *devattr, 436static ssize_t in_min_store(struct device *dev,
437 const char *buf, size_t count) 437 struct device_attribute *devattr, const char *buf,
438 size_t count)
438{ 439{
439 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); 440 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
440 struct pc87360_data *data = dev_get_drvdata(dev); 441 struct pc87360_data *data = dev_get_drvdata(dev);
@@ -452,8 +453,9 @@ static ssize_t set_in_min(struct device *dev, struct device_attribute *devattr,
452 mutex_unlock(&data->update_lock); 453 mutex_unlock(&data->update_lock);
453 return count; 454 return count;
454} 455}
455static ssize_t set_in_max(struct device *dev, struct device_attribute *devattr, 456static ssize_t in_max_store(struct device *dev,
456 const char *buf, size_t count) 457 struct device_attribute *devattr, const char *buf,
458 size_t count)
457{ 459{
458 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); 460 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
459 struct pc87360_data *data = dev_get_drvdata(dev); 461 struct pc87360_data *data = dev_get_drvdata(dev);
@@ -474,56 +476,56 @@ static ssize_t set_in_max(struct device *dev, struct device_attribute *devattr,
474} 476}
475 477
476static struct sensor_device_attribute in_input[] = { 478static struct sensor_device_attribute in_input[] = {
477 SENSOR_ATTR(in0_input, S_IRUGO, show_in_input, NULL, 0), 479 SENSOR_ATTR_RO(in0_input, in_input, 0),
478 SENSOR_ATTR(in1_input, S_IRUGO, show_in_input, NULL, 1), 480 SENSOR_ATTR_RO(in1_input, in_input, 1),
479 SENSOR_ATTR(in2_input, S_IRUGO, show_in_input, NULL, 2), 481 SENSOR_ATTR_RO(in2_input, in_input, 2),
480 SENSOR_ATTR(in3_input, S_IRUGO, show_in_input, NULL, 3), 482 SENSOR_ATTR_RO(in3_input, in_input, 3),
481 SENSOR_ATTR(in4_input, S_IRUGO, show_in_input, NULL, 4), 483 SENSOR_ATTR_RO(in4_input, in_input, 4),
482 SENSOR_ATTR(in5_input, S_IRUGO, show_in_input, NULL, 5), 484 SENSOR_ATTR_RO(in5_input, in_input, 5),
483 SENSOR_ATTR(in6_input, S_IRUGO, show_in_input, NULL, 6), 485 SENSOR_ATTR_RO(in6_input, in_input, 6),
484 SENSOR_ATTR(in7_input, S_IRUGO, show_in_input, NULL, 7), 486 SENSOR_ATTR_RO(in7_input, in_input, 7),
485 SENSOR_ATTR(in8_input, S_IRUGO, show_in_input, NULL, 8), 487 SENSOR_ATTR_RO(in8_input, in_input, 8),
486 SENSOR_ATTR(in9_input, S_IRUGO, show_in_input, NULL, 9), 488 SENSOR_ATTR_RO(in9_input, in_input, 9),
487 SENSOR_ATTR(in10_input, S_IRUGO, show_in_input, NULL, 10), 489 SENSOR_ATTR_RO(in10_input, in_input, 10),
488}; 490};
489static struct sensor_device_attribute in_status[] = { 491static struct sensor_device_attribute in_status[] = {
490 SENSOR_ATTR(in0_status, S_IRUGO, show_in_status, NULL, 0), 492 SENSOR_ATTR_RO(in0_status, in_status, 0),
491 SENSOR_ATTR(in1_status, S_IRUGO, show_in_status, NULL, 1), 493 SENSOR_ATTR_RO(in1_status, in_status, 1),
492 SENSOR_ATTR(in2_status, S_IRUGO, show_in_status, NULL, 2), 494 SENSOR_ATTR_RO(in2_status, in_status, 2),
493 SENSOR_ATTR(in3_status, S_IRUGO, show_in_status, NULL, 3), 495 SENSOR_ATTR_RO(in3_status, in_status, 3),
494 SENSOR_ATTR(in4_status, S_IRUGO, show_in_status, NULL, 4), 496 SENSOR_ATTR_RO(in4_status, in_status, 4),
495 SENSOR_ATTR(in5_status, S_IRUGO, show_in_status, NULL, 5), 497 SENSOR_ATTR_RO(in5_status, in_status, 5),
496 SENSOR_ATTR(in6_status, S_IRUGO, show_in_status, NULL, 6), 498 SENSOR_ATTR_RO(in6_status, in_status, 6),
497 SENSOR_ATTR(in7_status, S_IRUGO, show_in_status, NULL, 7), 499 SENSOR_ATTR_RO(in7_status, in_status, 7),
498 SENSOR_ATTR(in8_status, S_IRUGO, show_in_status, NULL, 8), 500 SENSOR_ATTR_RO(in8_status, in_status, 8),
499 SENSOR_ATTR(in9_status, S_IRUGO, show_in_status, NULL, 9), 501 SENSOR_ATTR_RO(in9_status, in_status, 9),
500 SENSOR_ATTR(in10_status, S_IRUGO, show_in_status, NULL, 10), 502 SENSOR_ATTR_RO(in10_status, in_status, 10),
501}; 503};
502static struct sensor_device_attribute in_min[] = { 504static struct sensor_device_attribute in_min[] = {
503 SENSOR_ATTR(in0_min, S_IWUSR | S_IRUGO, show_in_min, set_in_min, 0), 505 SENSOR_ATTR_RW(in0_min, in_min, 0),
504 SENSOR_ATTR(in1_min, S_IWUSR | S_IRUGO, show_in_min, set_in_min, 1), 506 SENSOR_ATTR_RW(in1_min, in_min, 1),
505 SENSOR_ATTR(in2_min, S_IWUSR | S_IRUGO, show_in_min, set_in_min, 2), 507 SENSOR_ATTR_RW(in2_min, in_min, 2),
506 SENSOR_ATTR(in3_min, S_IWUSR | S_IRUGO, show_in_min, set_in_min, 3), 508 SENSOR_ATTR_RW(in3_min, in_min, 3),
507 SENSOR_ATTR(in4_min, S_IWUSR | S_IRUGO, show_in_min, set_in_min, 4), 509 SENSOR_ATTR_RW(in4_min, in_min, 4),
508 SENSOR_ATTR(in5_min, S_IWUSR | S_IRUGO, show_in_min, set_in_min, 5), 510 SENSOR_ATTR_RW(in5_min, in_min, 5),
509 SENSOR_ATTR(in6_min, S_IWUSR | S_IRUGO, show_in_min, set_in_min, 6), 511 SENSOR_ATTR_RW(in6_min, in_min, 6),
510 SENSOR_ATTR(in7_min, S_IWUSR | S_IRUGO, show_in_min, set_in_min, 7), 512 SENSOR_ATTR_RW(in7_min, in_min, 7),
511 SENSOR_ATTR(in8_min, S_IWUSR | S_IRUGO, show_in_min, set_in_min, 8), 513 SENSOR_ATTR_RW(in8_min, in_min, 8),
512 SENSOR_ATTR(in9_min, S_IWUSR | S_IRUGO, show_in_min, set_in_min, 9), 514 SENSOR_ATTR_RW(in9_min, in_min, 9),
513 SENSOR_ATTR(in10_min, S_IWUSR | S_IRUGO, show_in_min, set_in_min, 10), 515 SENSOR_ATTR_RW(in10_min, in_min, 10),
514}; 516};
515static struct sensor_device_attribute in_max[] = { 517static struct sensor_device_attribute in_max[] = {
516 SENSOR_ATTR(in0_max, S_IWUSR | S_IRUGO, show_in_max, set_in_max, 0), 518 SENSOR_ATTR_RW(in0_max, in_max, 0),
517 SENSOR_ATTR(in1_max, S_IWUSR | S_IRUGO, show_in_max, set_in_max, 1), 519 SENSOR_ATTR_RW(in1_max, in_max, 1),
518 SENSOR_ATTR(in2_max, S_IWUSR | S_IRUGO, show_in_max, set_in_max, 2), 520 SENSOR_ATTR_RW(in2_max, in_max, 2),
519 SENSOR_ATTR(in3_max, S_IWUSR | S_IRUGO, show_in_max, set_in_max, 3), 521 SENSOR_ATTR_RW(in3_max, in_max, 3),
520 SENSOR_ATTR(in4_max, S_IWUSR | S_IRUGO, show_in_max, set_in_max, 4), 522 SENSOR_ATTR_RW(in4_max, in_max, 4),
521 SENSOR_ATTR(in5_max, S_IWUSR | S_IRUGO, show_in_max, set_in_max, 5), 523 SENSOR_ATTR_RW(in5_max, in_max, 5),
522 SENSOR_ATTR(in6_max, S_IWUSR | S_IRUGO, show_in_max, set_in_max, 6), 524 SENSOR_ATTR_RW(in6_max, in_max, 6),
523 SENSOR_ATTR(in7_max, S_IWUSR | S_IRUGO, show_in_max, set_in_max, 7), 525 SENSOR_ATTR_RW(in7_max, in_max, 7),
524 SENSOR_ATTR(in8_max, S_IWUSR | S_IRUGO, show_in_max, set_in_max, 8), 526 SENSOR_ATTR_RW(in8_max, in_max, 8),
525 SENSOR_ATTR(in9_max, S_IWUSR | S_IRUGO, show_in_max, set_in_max, 9), 527 SENSOR_ATTR_RW(in9_max, in_max, 9),
526 SENSOR_ATTR(in10_max, S_IWUSR | S_IRUGO, show_in_max, set_in_max, 10), 528 SENSOR_ATTR_RW(in10_max, in_max, 10),
527}; 529};
528 530
529/* (temp & vin) channel status register alarm bits (pdf sec.11.5.12) */ 531/* (temp & vin) channel status register alarm bits (pdf sec.11.5.12) */
@@ -537,16 +539,16 @@ static struct sensor_device_attribute in_max[] = {
537 * 11.5.2) that (legacy) show_in_alarm() resds (via data->in_alarms) 539 * 11.5.2) that (legacy) show_in_alarm() resds (via data->in_alarms)
538 */ 540 */
539 541
540static ssize_t show_in_min_alarm(struct device *dev, 542static ssize_t in_min_alarm_show(struct device *dev,
541 struct device_attribute *devattr, char *buf) 543 struct device_attribute *devattr, char *buf)
542{ 544{
543 struct pc87360_data *data = pc87360_update_device(dev); 545 struct pc87360_data *data = pc87360_update_device(dev);
544 unsigned nr = to_sensor_dev_attr(devattr)->index; 546 unsigned nr = to_sensor_dev_attr(devattr)->index;
545 547
546 return sprintf(buf, "%u\n", !!(data->in_status[nr] & CHAN_ALM_MIN)); 548 return sprintf(buf, "%u\n", !!(data->in_status[nr] & CHAN_ALM_MIN));
547} 549}
548static ssize_t show_in_max_alarm(struct device *dev, 550static ssize_t in_max_alarm_show(struct device *dev,
549 struct device_attribute *devattr, char *buf) 551 struct device_attribute *devattr, char *buf)
550{ 552{
551 struct pc87360_data *data = pc87360_update_device(dev); 553 struct pc87360_data *data = pc87360_update_device(dev);
552 unsigned nr = to_sensor_dev_attr(devattr)->index; 554 unsigned nr = to_sensor_dev_attr(devattr)->index;
@@ -555,30 +557,30 @@ static ssize_t show_in_max_alarm(struct device *dev,
555} 557}
556 558
557static struct sensor_device_attribute in_min_alarm[] = { 559static struct sensor_device_attribute in_min_alarm[] = {
558 SENSOR_ATTR(in0_min_alarm, S_IRUGO, show_in_min_alarm, NULL, 0), 560 SENSOR_ATTR_RO(in0_min_alarm, in_min_alarm, 0),
559 SENSOR_ATTR(in1_min_alarm, S_IRUGO, show_in_min_alarm, NULL, 1), 561 SENSOR_ATTR_RO(in1_min_alarm, in_min_alarm, 1),
560 SENSOR_ATTR(in2_min_alarm, S_IRUGO, show_in_min_alarm, NULL, 2), 562 SENSOR_ATTR_RO(in2_min_alarm, in_min_alarm, 2),
561 SENSOR_ATTR(in3_min_alarm, S_IRUGO, show_in_min_alarm, NULL, 3), 563 SENSOR_ATTR_RO(in3_min_alarm, in_min_alarm, 3),
562 SENSOR_ATTR(in4_min_alarm, S_IRUGO, show_in_min_alarm, NULL, 4), 564 SENSOR_ATTR_RO(in4_min_alarm, in_min_alarm, 4),
563 SENSOR_ATTR(in5_min_alarm, S_IRUGO, show_in_min_alarm, NULL, 5), 565 SENSOR_ATTR_RO(in5_min_alarm, in_min_alarm, 5),
564 SENSOR_ATTR(in6_min_alarm, S_IRUGO, show_in_min_alarm, NULL, 6), 566 SENSOR_ATTR_RO(in6_min_alarm, in_min_alarm, 6),
565 SENSOR_ATTR(in7_min_alarm, S_IRUGO, show_in_min_alarm, NULL, 7), 567 SENSOR_ATTR_RO(in7_min_alarm, in_min_alarm, 7),
566 SENSOR_ATTR(in8_min_alarm, S_IRUGO, show_in_min_alarm, NULL, 8), 568 SENSOR_ATTR_RO(in8_min_alarm, in_min_alarm, 8),
567 SENSOR_ATTR(in9_min_alarm, S_IRUGO, show_in_min_alarm, NULL, 9), 569 SENSOR_ATTR_RO(in9_min_alarm, in_min_alarm, 9),
568 SENSOR_ATTR(in10_min_alarm, S_IRUGO, show_in_min_alarm, NULL, 10), 570 SENSOR_ATTR_RO(in10_min_alarm, in_min_alarm, 10),
569}; 571};
570static struct sensor_device_attribute in_max_alarm[] = { 572static struct sensor_device_attribute in_max_alarm[] = {
571 SENSOR_ATTR(in0_max_alarm, S_IRUGO, show_in_max_alarm, NULL, 0), 573 SENSOR_ATTR_RO(in0_max_alarm, in_max_alarm, 0),
572 SENSOR_ATTR(in1_max_alarm, S_IRUGO, show_in_max_alarm, NULL, 1), 574 SENSOR_ATTR_RO(in1_max_alarm, in_max_alarm, 1),
573 SENSOR_ATTR(in2_max_alarm, S_IRUGO, show_in_max_alarm, NULL, 2), 575 SENSOR_ATTR_RO(in2_max_alarm, in_max_alarm, 2),
574 SENSOR_ATTR(in3_max_alarm, S_IRUGO, show_in_max_alarm, NULL, 3), 576 SENSOR_ATTR_RO(in3_max_alarm, in_max_alarm, 3),
575 SENSOR_ATTR(in4_max_alarm, S_IRUGO, show_in_max_alarm, NULL, 4), 577 SENSOR_ATTR_RO(in4_max_alarm, in_max_alarm, 4),
576 SENSOR_ATTR(in5_max_alarm, S_IRUGO, show_in_max_alarm, NULL, 5), 578 SENSOR_ATTR_RO(in5_max_alarm, in_max_alarm, 5),
577 SENSOR_ATTR(in6_max_alarm, S_IRUGO, show_in_max_alarm, NULL, 6), 579 SENSOR_ATTR_RO(in6_max_alarm, in_max_alarm, 6),
578 SENSOR_ATTR(in7_max_alarm, S_IRUGO, show_in_max_alarm, NULL, 7), 580 SENSOR_ATTR_RO(in7_max_alarm, in_max_alarm, 7),
579 SENSOR_ATTR(in8_max_alarm, S_IRUGO, show_in_max_alarm, NULL, 8), 581 SENSOR_ATTR_RO(in8_max_alarm, in_max_alarm, 8),
580 SENSOR_ATTR(in9_max_alarm, S_IRUGO, show_in_max_alarm, NULL, 9), 582 SENSOR_ATTR_RO(in9_max_alarm, in_max_alarm, 9),
581 SENSOR_ATTR(in10_max_alarm, S_IRUGO, show_in_max_alarm, NULL, 10), 583 SENSOR_ATTR_RO(in10_max_alarm, in_max_alarm, 10),
582}; 584};
583 585
584#define VIN_UNIT_ATTRS(X) \ 586#define VIN_UNIT_ATTRS(X) \
@@ -651,7 +653,7 @@ static const struct attribute_group pc8736x_vin_group = {
651 .attrs = pc8736x_vin_attr_array, 653 .attrs = pc8736x_vin_attr_array,
652}; 654};
653 655
654static ssize_t show_therm_input(struct device *dev, 656static ssize_t therm_input_show(struct device *dev,
655 struct device_attribute *devattr, char *buf) 657 struct device_attribute *devattr, char *buf)
656{ 658{
657 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); 659 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
@@ -659,7 +661,7 @@ static ssize_t show_therm_input(struct device *dev,
659 return sprintf(buf, "%u\n", IN_FROM_REG(data->in[attr->index], 661 return sprintf(buf, "%u\n", IN_FROM_REG(data->in[attr->index],
660 data->in_vref)); 662 data->in_vref));
661} 663}
662static ssize_t show_therm_min(struct device *dev, 664static ssize_t therm_min_show(struct device *dev,
663 struct device_attribute *devattr, char *buf) 665 struct device_attribute *devattr, char *buf)
664{ 666{
665 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); 667 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
@@ -667,7 +669,7 @@ static ssize_t show_therm_min(struct device *dev,
667 return sprintf(buf, "%u\n", IN_FROM_REG(data->in_min[attr->index], 669 return sprintf(buf, "%u\n", IN_FROM_REG(data->in_min[attr->index],
668 data->in_vref)); 670 data->in_vref));
669} 671}
670static ssize_t show_therm_max(struct device *dev, 672static ssize_t therm_max_show(struct device *dev,
671 struct device_attribute *devattr, char *buf) 673 struct device_attribute *devattr, char *buf)
672{ 674{
673 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); 675 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
@@ -675,7 +677,7 @@ static ssize_t show_therm_max(struct device *dev,
675 return sprintf(buf, "%u\n", IN_FROM_REG(data->in_max[attr->index], 677 return sprintf(buf, "%u\n", IN_FROM_REG(data->in_max[attr->index],
676 data->in_vref)); 678 data->in_vref));
677} 679}
678static ssize_t show_therm_crit(struct device *dev, 680static ssize_t therm_crit_show(struct device *dev,
679 struct device_attribute *devattr, char *buf) 681 struct device_attribute *devattr, char *buf)
680{ 682{
681 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); 683 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
@@ -683,7 +685,7 @@ static ssize_t show_therm_crit(struct device *dev,
683 return sprintf(buf, "%u\n", IN_FROM_REG(data->in_crit[attr->index-11], 685 return sprintf(buf, "%u\n", IN_FROM_REG(data->in_crit[attr->index-11],
684 data->in_vref)); 686 data->in_vref));
685} 687}
686static ssize_t show_therm_status(struct device *dev, 688static ssize_t therm_status_show(struct device *dev,
687 struct device_attribute *devattr, char *buf) 689 struct device_attribute *devattr, char *buf)
688{ 690{
689 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); 691 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
@@ -691,9 +693,9 @@ static ssize_t show_therm_status(struct device *dev,
691 return sprintf(buf, "%u\n", data->in_status[attr->index]); 693 return sprintf(buf, "%u\n", data->in_status[attr->index]);
692} 694}
693 695
694static ssize_t set_therm_min(struct device *dev, 696static ssize_t therm_min_store(struct device *dev,
695 struct device_attribute *devattr, 697 struct device_attribute *devattr,
696 const char *buf, size_t count) 698 const char *buf, size_t count)
697{ 699{
698 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); 700 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
699 struct pc87360_data *data = dev_get_drvdata(dev); 701 struct pc87360_data *data = dev_get_drvdata(dev);
@@ -712,9 +714,9 @@ static ssize_t set_therm_min(struct device *dev,
712 return count; 714 return count;
713} 715}
714 716
715static ssize_t set_therm_max(struct device *dev, 717static ssize_t therm_max_store(struct device *dev,
716 struct device_attribute *devattr, 718 struct device_attribute *devattr,
717 const char *buf, size_t count) 719 const char *buf, size_t count)
718{ 720{
719 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); 721 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
720 struct pc87360_data *data = dev_get_drvdata(dev); 722 struct pc87360_data *data = dev_get_drvdata(dev);
@@ -732,9 +734,9 @@ static ssize_t set_therm_max(struct device *dev,
732 mutex_unlock(&data->update_lock); 734 mutex_unlock(&data->update_lock);
733 return count; 735 return count;
734} 736}
735static ssize_t set_therm_crit(struct device *dev, 737static ssize_t therm_crit_store(struct device *dev,
736 struct device_attribute *devattr, 738 struct device_attribute *devattr,
737 const char *buf, size_t count) 739 const char *buf, size_t count)
738{ 740{
739 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); 741 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
740 struct pc87360_data *data = dev_get_drvdata(dev); 742 struct pc87360_data *data = dev_get_drvdata(dev);
@@ -758,38 +760,29 @@ static ssize_t set_therm_crit(struct device *dev,
758 * used in the chip to measure voltage across the thermistors 760 * used in the chip to measure voltage across the thermistors
759 */ 761 */
760static struct sensor_device_attribute therm_input[] = { 762static struct sensor_device_attribute therm_input[] = {
761 SENSOR_ATTR(temp4_input, S_IRUGO, show_therm_input, NULL, 0 + 11), 763 SENSOR_ATTR_RO(temp4_input, therm_input, 0 + 11),
762 SENSOR_ATTR(temp5_input, S_IRUGO, show_therm_input, NULL, 1 + 11), 764 SENSOR_ATTR_RO(temp5_input, therm_input, 1 + 11),
763 SENSOR_ATTR(temp6_input, S_IRUGO, show_therm_input, NULL, 2 + 11), 765 SENSOR_ATTR_RO(temp6_input, therm_input, 2 + 11),
764}; 766};
765static struct sensor_device_attribute therm_status[] = { 767static struct sensor_device_attribute therm_status[] = {
766 SENSOR_ATTR(temp4_status, S_IRUGO, show_therm_status, NULL, 0 + 11), 768 SENSOR_ATTR_RO(temp4_status, therm_status, 0 + 11),
767 SENSOR_ATTR(temp5_status, S_IRUGO, show_therm_status, NULL, 1 + 11), 769 SENSOR_ATTR_RO(temp5_status, therm_status, 1 + 11),
768 SENSOR_ATTR(temp6_status, S_IRUGO, show_therm_status, NULL, 2 + 11), 770 SENSOR_ATTR_RO(temp6_status, therm_status, 2 + 11),
769}; 771};
770static struct sensor_device_attribute therm_min[] = { 772static struct sensor_device_attribute therm_min[] = {
771 SENSOR_ATTR(temp4_min, S_IRUGO | S_IWUSR, 773 SENSOR_ATTR_RW(temp4_min, therm_min, 0 + 11),
772 show_therm_min, set_therm_min, 0 + 11), 774 SENSOR_ATTR_RW(temp5_min, therm_min, 1 + 11),
773 SENSOR_ATTR(temp5_min, S_IRUGO | S_IWUSR, 775 SENSOR_ATTR_RW(temp6_min, therm_min, 2 + 11),
774 show_therm_min, set_therm_min, 1 + 11),
775 SENSOR_ATTR(temp6_min, S_IRUGO | S_IWUSR,
776 show_therm_min, set_therm_min, 2 + 11),
777}; 776};
778static struct sensor_device_attribute therm_max[] = { 777static struct sensor_device_attribute therm_max[] = {
779 SENSOR_ATTR(temp4_max, S_IRUGO | S_IWUSR, 778 SENSOR_ATTR_RW(temp4_max, therm_max, 0 + 11),
780 show_therm_max, set_therm_max, 0 + 11), 779 SENSOR_ATTR_RW(temp5_max, therm_max, 1 + 11),
781 SENSOR_ATTR(temp5_max, S_IRUGO | S_IWUSR, 780 SENSOR_ATTR_RW(temp6_max, therm_max, 2 + 11),
782 show_therm_max, set_therm_max, 1 + 11),
783 SENSOR_ATTR(temp6_max, S_IRUGO | S_IWUSR,
784 show_therm_max, set_therm_max, 2 + 11),
785}; 781};
786static struct sensor_device_attribute therm_crit[] = { 782static struct sensor_device_attribute therm_crit[] = {
787 SENSOR_ATTR(temp4_crit, S_IRUGO | S_IWUSR, 783 SENSOR_ATTR_RW(temp4_crit, therm_crit, 0 + 11),
788 show_therm_crit, set_therm_crit, 0 + 11), 784 SENSOR_ATTR_RW(temp5_crit, therm_crit, 1 + 11),
789 SENSOR_ATTR(temp5_crit, S_IRUGO | S_IWUSR, 785 SENSOR_ATTR_RW(temp6_crit, therm_crit, 2 + 11),
790 show_therm_crit, set_therm_crit, 1 + 11),
791 SENSOR_ATTR(temp6_crit, S_IRUGO | S_IWUSR,
792 show_therm_crit, set_therm_crit, 2 + 11),
793}; 786};
794 787
795/* 788/*
@@ -797,24 +790,27 @@ static struct sensor_device_attribute therm_crit[] = {
797 * status register (sec 11.5.12) 790 * status register (sec 11.5.12)
798 */ 791 */
799 792
800static ssize_t show_therm_min_alarm(struct device *dev, 793static ssize_t therm_min_alarm_show(struct device *dev,
801 struct device_attribute *devattr, char *buf) 794 struct device_attribute *devattr,
795 char *buf)
802{ 796{
803 struct pc87360_data *data = pc87360_update_device(dev); 797 struct pc87360_data *data = pc87360_update_device(dev);
804 unsigned nr = to_sensor_dev_attr(devattr)->index; 798 unsigned nr = to_sensor_dev_attr(devattr)->index;
805 799
806 return sprintf(buf, "%u\n", !!(data->in_status[nr] & CHAN_ALM_MIN)); 800 return sprintf(buf, "%u\n", !!(data->in_status[nr] & CHAN_ALM_MIN));
807} 801}
808static ssize_t show_therm_max_alarm(struct device *dev, 802static ssize_t therm_max_alarm_show(struct device *dev,
809 struct device_attribute *devattr, char *buf) 803 struct device_attribute *devattr,
804 char *buf)
810{ 805{
811 struct pc87360_data *data = pc87360_update_device(dev); 806 struct pc87360_data *data = pc87360_update_device(dev);
812 unsigned nr = to_sensor_dev_attr(devattr)->index; 807 unsigned nr = to_sensor_dev_attr(devattr)->index;
813 808
814 return sprintf(buf, "%u\n", !!(data->in_status[nr] & CHAN_ALM_MAX)); 809 return sprintf(buf, "%u\n", !!(data->in_status[nr] & CHAN_ALM_MAX));
815} 810}
816static ssize_t show_therm_crit_alarm(struct device *dev, 811static ssize_t therm_crit_alarm_show(struct device *dev,
817 struct device_attribute *devattr, char *buf) 812 struct device_attribute *devattr,
813 char *buf)
818{ 814{
819 struct pc87360_data *data = pc87360_update_device(dev); 815 struct pc87360_data *data = pc87360_update_device(dev);
820 unsigned nr = to_sensor_dev_attr(devattr)->index; 816 unsigned nr = to_sensor_dev_attr(devattr)->index;
@@ -823,28 +819,19 @@ static ssize_t show_therm_crit_alarm(struct device *dev,
823} 819}
824 820
825static struct sensor_device_attribute therm_min_alarm[] = { 821static struct sensor_device_attribute therm_min_alarm[] = {
826 SENSOR_ATTR(temp4_min_alarm, S_IRUGO, 822 SENSOR_ATTR_RO(temp4_min_alarm, therm_min_alarm, 0 + 11),
827 show_therm_min_alarm, NULL, 0 + 11), 823 SENSOR_ATTR_RO(temp5_min_alarm, therm_min_alarm, 1 + 11),
828 SENSOR_ATTR(temp5_min_alarm, S_IRUGO, 824 SENSOR_ATTR_RO(temp6_min_alarm, therm_min_alarm, 2 + 11),
829 show_therm_min_alarm, NULL, 1 + 11),
830 SENSOR_ATTR(temp6_min_alarm, S_IRUGO,
831 show_therm_min_alarm, NULL, 2 + 11),
832}; 825};
833static struct sensor_device_attribute therm_max_alarm[] = { 826static struct sensor_device_attribute therm_max_alarm[] = {
834 SENSOR_ATTR(temp4_max_alarm, S_IRUGO, 827 SENSOR_ATTR_RO(temp4_max_alarm, therm_max_alarm, 0 + 11),
835 show_therm_max_alarm, NULL, 0 + 11), 828 SENSOR_ATTR_RO(temp5_max_alarm, therm_max_alarm, 1 + 11),
836 SENSOR_ATTR(temp5_max_alarm, S_IRUGO, 829 SENSOR_ATTR_RO(temp6_max_alarm, therm_max_alarm, 2 + 11),
837 show_therm_max_alarm, NULL, 1 + 11),
838 SENSOR_ATTR(temp6_max_alarm, S_IRUGO,
839 show_therm_max_alarm, NULL, 2 + 11),
840}; 830};
841static struct sensor_device_attribute therm_crit_alarm[] = { 831static struct sensor_device_attribute therm_crit_alarm[] = {
842 SENSOR_ATTR(temp4_crit_alarm, S_IRUGO, 832 SENSOR_ATTR_RO(temp4_crit_alarm, therm_crit_alarm, 0 + 11),
843 show_therm_crit_alarm, NULL, 0 + 11), 833 SENSOR_ATTR_RO(temp5_crit_alarm, therm_crit_alarm, 1 + 11),
844 SENSOR_ATTR(temp5_crit_alarm, S_IRUGO, 834 SENSOR_ATTR_RO(temp6_crit_alarm, therm_crit_alarm, 2 + 11),
845 show_therm_crit_alarm, NULL, 1 + 11),
846 SENSOR_ATTR(temp6_crit_alarm, S_IRUGO,
847 show_therm_crit_alarm, NULL, 2 + 11),
848}; 835};
849 836
850#define THERM_UNIT_ATTRS(X) \ 837#define THERM_UNIT_ATTRS(X) \
@@ -867,7 +854,7 @@ static const struct attribute_group pc8736x_therm_group = {
867 .attrs = pc8736x_therm_attr_array, 854 .attrs = pc8736x_therm_attr_array,
868}; 855};
869 856
870static ssize_t show_temp_input(struct device *dev, 857static ssize_t temp_input_show(struct device *dev,
871 struct device_attribute *devattr, char *buf) 858 struct device_attribute *devattr, char *buf)
872{ 859{
873 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); 860 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
@@ -875,7 +862,7 @@ static ssize_t show_temp_input(struct device *dev,
875 return sprintf(buf, "%d\n", TEMP_FROM_REG(data->temp[attr->index])); 862 return sprintf(buf, "%d\n", TEMP_FROM_REG(data->temp[attr->index]));
876} 863}
877 864
878static ssize_t show_temp_min(struct device *dev, 865static ssize_t temp_min_show(struct device *dev,
879 struct device_attribute *devattr, char *buf) 866 struct device_attribute *devattr, char *buf)
880{ 867{
881 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); 868 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
@@ -883,7 +870,7 @@ static ssize_t show_temp_min(struct device *dev,
883 return sprintf(buf, "%d\n", TEMP_FROM_REG(data->temp_min[attr->index])); 870 return sprintf(buf, "%d\n", TEMP_FROM_REG(data->temp_min[attr->index]));
884} 871}
885 872
886static ssize_t show_temp_max(struct device *dev, 873static ssize_t temp_max_show(struct device *dev,
887 struct device_attribute *devattr, char *buf) 874 struct device_attribute *devattr, char *buf)
888{ 875{
889 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); 876 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
@@ -891,7 +878,7 @@ static ssize_t show_temp_max(struct device *dev,
891 return sprintf(buf, "%d\n", TEMP_FROM_REG(data->temp_max[attr->index])); 878 return sprintf(buf, "%d\n", TEMP_FROM_REG(data->temp_max[attr->index]));
892} 879}
893 880
894static ssize_t show_temp_crit(struct device *dev, 881static ssize_t temp_crit_show(struct device *dev,
895 struct device_attribute *devattr, char *buf) 882 struct device_attribute *devattr, char *buf)
896{ 883{
897 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); 884 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
@@ -900,7 +887,7 @@ static ssize_t show_temp_crit(struct device *dev,
900 TEMP_FROM_REG(data->temp_crit[attr->index])); 887 TEMP_FROM_REG(data->temp_crit[attr->index]));
901} 888}
902 889
903static ssize_t show_temp_status(struct device *dev, 890static ssize_t temp_status_show(struct device *dev,
904 struct device_attribute *devattr, char *buf) 891 struct device_attribute *devattr, char *buf)
905{ 892{
906 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); 893 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
@@ -908,9 +895,9 @@ static ssize_t show_temp_status(struct device *dev,
908 return sprintf(buf, "%d\n", data->temp_status[attr->index]); 895 return sprintf(buf, "%d\n", data->temp_status[attr->index]);
909} 896}
910 897
911static ssize_t set_temp_min(struct device *dev, 898static ssize_t temp_min_store(struct device *dev,
912 struct device_attribute *devattr, 899 struct device_attribute *devattr,
913 const char *buf, size_t count) 900 const char *buf, size_t count)
914{ 901{
915 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); 902 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
916 struct pc87360_data *data = dev_get_drvdata(dev); 903 struct pc87360_data *data = dev_get_drvdata(dev);
@@ -929,9 +916,9 @@ static ssize_t set_temp_min(struct device *dev,
929 return count; 916 return count;
930} 917}
931 918
932static ssize_t set_temp_max(struct device *dev, 919static ssize_t temp_max_store(struct device *dev,
933 struct device_attribute *devattr, 920 struct device_attribute *devattr,
934 const char *buf, size_t count) 921 const char *buf, size_t count)
935{ 922{
936 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); 923 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
937 struct pc87360_data *data = dev_get_drvdata(dev); 924 struct pc87360_data *data = dev_get_drvdata(dev);
@@ -950,9 +937,9 @@ static ssize_t set_temp_max(struct device *dev,
950 return count; 937 return count;
951} 938}
952 939
953static ssize_t set_temp_crit(struct device *dev, 940static ssize_t temp_crit_store(struct device *dev,
954 struct device_attribute *devattr, const char *buf, 941 struct device_attribute *devattr,
955 size_t count) 942 const char *buf, size_t count)
956{ 943{
957 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); 944 struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
958 struct pc87360_data *data = dev_get_drvdata(dev); 945 struct pc87360_data *data = dev_get_drvdata(dev);
@@ -972,38 +959,29 @@ static ssize_t set_temp_crit(struct device *dev,
972} 959}
973 960
974static struct sensor_device_attribute temp_input[] = { 961static struct sensor_device_attribute temp_input[] = {
975 SENSOR_ATTR(temp1_input, S_IRUGO, show_temp_input, NULL, 0), 962 SENSOR_ATTR_RO(temp1_input, temp_input, 0),
976 SENSOR_ATTR(temp2_input, S_IRUGO, show_temp_input, NULL, 1), 963 SENSOR_ATTR_RO(temp2_input, temp_input, 1),
977 SENSOR_ATTR(temp3_input, S_IRUGO, show_temp_input, NULL, 2), 964 SENSOR_ATTR_RO(temp3_input, temp_input, 2),
978}; 965};
979static struct sensor_device_attribute temp_status[] = { 966static struct sensor_device_attribute temp_status[] = {
980 SENSOR_ATTR(temp1_status, S_IRUGO, show_temp_status, NULL, 0), 967 SENSOR_ATTR_RO(temp1_status, temp_status, 0),
981 SENSOR_ATTR(temp2_status, S_IRUGO, show_temp_status, NULL, 1), 968 SENSOR_ATTR_RO(temp2_status, temp_status, 1),
982 SENSOR_ATTR(temp3_status, S_IRUGO, show_temp_status, NULL, 2), 969 SENSOR_ATTR_RO(temp3_status, temp_status, 2),
983}; 970};
984static struct sensor_device_attribute temp_min[] = { 971static struct sensor_device_attribute temp_min[] = {
985 SENSOR_ATTR(temp1_min, S_IRUGO | S_IWUSR, 972 SENSOR_ATTR_RW(temp1_min, temp_min, 0),
986 show_temp_min, set_temp_min, 0), 973 SENSOR_ATTR_RW(temp2_min, temp_min, 1),
987 SENSOR_ATTR(temp2_min, S_IRUGO | S_IWUSR, 974 SENSOR_ATTR_RW(temp3_min, temp_min, 2),
988 show_temp_min, set_temp_min, 1),
989 SENSOR_ATTR(temp3_min, S_IRUGO | S_IWUSR,
990 show_temp_min, set_temp_min, 2),
991}; 975};
992static struct sensor_device_attribute temp_max[] = { 976static struct sensor_device_attribute temp_max[] = {
993 SENSOR_ATTR(temp1_max, S_IRUGO | S_IWUSR, 977 SENSOR_ATTR_RW(temp1_max, temp_max, 0),
994 show_temp_max, set_temp_max, 0), 978 SENSOR_ATTR_RW(temp2_max, temp_max, 1),
995 SENSOR_ATTR(temp2_max, S_IRUGO | S_IWUSR, 979 SENSOR_ATTR_RW(temp3_max, temp_max, 2),
996 show_temp_max, set_temp_max, 1),
997 SENSOR_ATTR(temp3_max, S_IRUGO | S_IWUSR,
998 show_temp_max, set_temp_max, 2),
999}; 980};
1000static struct sensor_device_attribute temp_crit[] = { 981static struct sensor_device_attribute temp_crit[] = {
1001 SENSOR_ATTR(temp1_crit, S_IRUGO | S_IWUSR, 982 SENSOR_ATTR_RW(temp1_crit, temp_crit, 0),
1002 show_temp_crit, set_temp_crit, 0), 983 SENSOR_ATTR_RW(temp2_crit, temp_crit, 1),
1003 SENSOR_ATTR(temp2_crit, S_IRUGO | S_IWUSR, 984 SENSOR_ATTR_RW(temp3_crit, temp_crit, 2),
1004 show_temp_crit, set_temp_crit, 1),
1005 SENSOR_ATTR(temp3_crit, S_IRUGO | S_IWUSR,
1006 show_temp_crit, set_temp_crit, 2),
1007}; 985};
1008 986
1009static ssize_t alarms_temp_show(struct device *dev, 987static ssize_t alarms_temp_show(struct device *dev,
@@ -1021,8 +999,9 @@ static DEVICE_ATTR_RO(alarms_temp);
1021 * 12.3.2) that show_temp_alarm() reads (via data->temp_alarms) 999 * 12.3.2) that show_temp_alarm() reads (via data->temp_alarms)
1022 */ 1000 */
1023 1001
1024static ssize_t show_temp_min_alarm(struct device *dev, 1002static ssize_t temp_min_alarm_show(struct device *dev,
1025 struct device_attribute *devattr, char *buf) 1003 struct device_attribute *devattr,
1004 char *buf)
1026{ 1005{
1027 struct pc87360_data *data = pc87360_update_device(dev); 1006 struct pc87360_data *data = pc87360_update_device(dev);
1028 unsigned nr = to_sensor_dev_attr(devattr)->index; 1007 unsigned nr = to_sensor_dev_attr(devattr)->index;
@@ -1030,8 +1009,9 @@ static ssize_t show_temp_min_alarm(struct device *dev,
1030 return sprintf(buf, "%u\n", !!(data->temp_status[nr] & CHAN_ALM_MIN)); 1009 return sprintf(buf, "%u\n", !!(data->temp_status[nr] & CHAN_ALM_MIN));
1031} 1010}
1032 1011
1033static ssize_t show_temp_max_alarm(struct device *dev, 1012static ssize_t temp_max_alarm_show(struct device *dev,
1034 struct device_attribute *devattr, char *buf) 1013 struct device_attribute *devattr,
1014 char *buf)
1035{ 1015{
1036 struct pc87360_data *data = pc87360_update_device(dev); 1016 struct pc87360_data *data = pc87360_update_device(dev);
1037 unsigned nr = to_sensor_dev_attr(devattr)->index; 1017 unsigned nr = to_sensor_dev_attr(devattr)->index;
@@ -1039,8 +1019,9 @@ static ssize_t show_temp_max_alarm(struct device *dev,
1039 return sprintf(buf, "%u\n", !!(data->temp_status[nr] & CHAN_ALM_MAX)); 1019 return sprintf(buf, "%u\n", !!(data->temp_status[nr] & CHAN_ALM_MAX));
1040} 1020}
1041 1021
1042static ssize_t show_temp_crit_alarm(struct device *dev, 1022static ssize_t temp_crit_alarm_show(struct device *dev,
1043 struct device_attribute *devattr, char *buf) 1023 struct device_attribute *devattr,
1024 char *buf)
1044{ 1025{
1045 struct pc87360_data *data = pc87360_update_device(dev); 1026 struct pc87360_data *data = pc87360_update_device(dev);
1046 unsigned nr = to_sensor_dev_attr(devattr)->index; 1027 unsigned nr = to_sensor_dev_attr(devattr)->index;
@@ -1049,26 +1030,26 @@ static ssize_t show_temp_crit_alarm(struct device *dev,
1049} 1030}
1050 1031
1051static struct sensor_device_attribute temp_min_alarm[] = { 1032static struct sensor_device_attribute temp_min_alarm[] = {
1052 SENSOR_ATTR(temp1_min_alarm, S_IRUGO, show_temp_min_alarm, NULL, 0), 1033 SENSOR_ATTR_RO(temp1_min_alarm, temp_min_alarm, 0),
1053 SENSOR_ATTR(temp2_min_alarm, S_IRUGO, show_temp_min_alarm, NULL, 1), 1034 SENSOR_ATTR_RO(temp2_min_alarm, temp_min_alarm, 1),
1054 SENSOR_ATTR(temp3_min_alarm, S_IRUGO, show_temp_min_alarm, NULL, 2), 1035 SENSOR_ATTR_RO(temp3_min_alarm, temp_min_alarm, 2),
1055}; 1036};
1056 1037
1057static struct sensor_device_attribute temp_max_alarm[] = { 1038static struct sensor_device_attribute temp_max_alarm[] = {
1058 SENSOR_ATTR(temp1_max_alarm, S_IRUGO, show_temp_max_alarm, NULL, 0), 1039 SENSOR_ATTR_RO(temp1_max_alarm, temp_max_alarm, 0),
1059 SENSOR_ATTR(temp2_max_alarm, S_IRUGO, show_temp_max_alarm, NULL, 1), 1040 SENSOR_ATTR_RO(temp2_max_alarm, temp_max_alarm, 1),
1060 SENSOR_ATTR(temp3_max_alarm, S_IRUGO, show_temp_max_alarm, NULL, 2), 1041 SENSOR_ATTR_RO(temp3_max_alarm, temp_max_alarm, 2),
1061}; 1042};
1062 1043
1063static struct sensor_device_attribute temp_crit_alarm[] = { 1044static struct sensor_device_attribute temp_crit_alarm[] = {
1064 SENSOR_ATTR(temp1_crit_alarm, S_IRUGO, show_temp_crit_alarm, NULL, 0), 1045 SENSOR_ATTR_RO(temp1_crit_alarm, temp_crit_alarm, 0),
1065 SENSOR_ATTR(temp2_crit_alarm, S_IRUGO, show_temp_crit_alarm, NULL, 1), 1046 SENSOR_ATTR_RO(temp2_crit_alarm, temp_crit_alarm, 1),
1066 SENSOR_ATTR(temp3_crit_alarm, S_IRUGO, show_temp_crit_alarm, NULL, 2), 1047 SENSOR_ATTR_RO(temp3_crit_alarm, temp_crit_alarm, 2),
1067}; 1048};
1068 1049
1069#define TEMP_FAULT 0x40 /* open diode */ 1050#define TEMP_FAULT 0x40 /* open diode */
1070static ssize_t show_temp_fault(struct device *dev, 1051static ssize_t temp_fault_show(struct device *dev,
1071 struct device_attribute *devattr, char *buf) 1052 struct device_attribute *devattr, char *buf)
1072{ 1053{
1073 struct pc87360_data *data = pc87360_update_device(dev); 1054 struct pc87360_data *data = pc87360_update_device(dev);
1074 unsigned nr = to_sensor_dev_attr(devattr)->index; 1055 unsigned nr = to_sensor_dev_attr(devattr)->index;
@@ -1076,9 +1057,9 @@ static ssize_t show_temp_fault(struct device *dev,
1076 return sprintf(buf, "%u\n", !!(data->temp_status[nr] & TEMP_FAULT)); 1057 return sprintf(buf, "%u\n", !!(data->temp_status[nr] & TEMP_FAULT));
1077} 1058}
1078static struct sensor_device_attribute temp_fault[] = { 1059static struct sensor_device_attribute temp_fault[] = {
1079 SENSOR_ATTR(temp1_fault, S_IRUGO, show_temp_fault, NULL, 0), 1060 SENSOR_ATTR_RO(temp1_fault, temp_fault, 0),
1080 SENSOR_ATTR(temp2_fault, S_IRUGO, show_temp_fault, NULL, 1), 1061 SENSOR_ATTR_RO(temp2_fault, temp_fault, 1),
1081 SENSOR_ATTR(temp3_fault, S_IRUGO, show_temp_fault, NULL, 2), 1062 SENSOR_ATTR_RO(temp3_fault, temp_fault, 2),
1082}; 1063};
1083 1064
1084#define TEMP_UNIT_ATTRS(X) \ 1065#define TEMP_UNIT_ATTRS(X) \