hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/drivers/hwmon/fschmd.c
....@@ -1,21 +1,8 @@
1
+// SPDX-License-Identifier: GPL-2.0-or-later
12 /*
23 * fschmd.c
34 *
45 * Copyright (C) 2007 - 2009 Hans de Goede <hdegoede@redhat.com>
5
- *
6
- * This program is free software; you can redistribute it and/or modify
7
- * it under the terms of the GNU General Public License as published by
8
- * the Free Software Foundation; either version 2 of the License, or
9
- * (at your option) any later version.
10
- *
11
- * This program is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- * GNU General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU General Public License
17
- * along with this program; if not, write to the Free Software
18
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
196 */
207
218 /*
....@@ -227,8 +214,7 @@
227214 * Functions declarations
228215 */
229216
230
-static int fschmd_probe(struct i2c_client *client,
231
- const struct i2c_device_id *id);
217
+static int fschmd_probe(struct i2c_client *client);
232218 static int fschmd_detect(struct i2c_client *client,
233219 struct i2c_board_info *info);
234220 static int fschmd_remove(struct i2c_client *client);
....@@ -255,7 +241,7 @@
255241 .driver = {
256242 .name = "fschmd",
257243 },
258
- .probe = fschmd_probe,
244
+ .probe_new = fschmd_probe,
259245 .remove = fschmd_remove,
260246 .id_table = fschmd_id,
261247 .detect = fschmd_detect,
....@@ -331,8 +317,8 @@
331317 * Sysfs attr show / store functions
332318 */
333319
334
-static ssize_t show_in_value(struct device *dev,
335
- struct device_attribute *devattr, char *buf)
320
+static ssize_t in_value_show(struct device *dev,
321
+ struct device_attribute *devattr, char *buf)
336322 {
337323 const int max_reading[3] = { 14200, 6600, 3300 };
338324 int index = to_sensor_dev_attr(devattr)->index;
....@@ -349,8 +335,8 @@
349335
350336 #define TEMP_FROM_REG(val) (((val) - 128) * 1000)
351337
352
-static ssize_t show_temp_value(struct device *dev,
353
- struct device_attribute *devattr, char *buf)
338
+static ssize_t temp_value_show(struct device *dev,
339
+ struct device_attribute *devattr, char *buf)
354340 {
355341 int index = to_sensor_dev_attr(devattr)->index;
356342 struct fschmd_data *data = fschmd_update_device(dev);
....@@ -358,8 +344,8 @@
358344 return sprintf(buf, "%d\n", TEMP_FROM_REG(data->temp_act[index]));
359345 }
360346
361
-static ssize_t show_temp_max(struct device *dev,
362
- struct device_attribute *devattr, char *buf)
347
+static ssize_t temp_max_show(struct device *dev,
348
+ struct device_attribute *devattr, char *buf)
363349 {
364350 int index = to_sensor_dev_attr(devattr)->index;
365351 struct fschmd_data *data = fschmd_update_device(dev);
....@@ -367,8 +353,9 @@
367353 return sprintf(buf, "%d\n", TEMP_FROM_REG(data->temp_max[index]));
368354 }
369355
370
-static ssize_t store_temp_max(struct device *dev, struct device_attribute
371
- *devattr, const char *buf, size_t count)
356
+static ssize_t temp_max_store(struct device *dev,
357
+ struct device_attribute *devattr,
358
+ const char *buf, size_t count)
372359 {
373360 int index = to_sensor_dev_attr(devattr)->index;
374361 struct fschmd_data *data = dev_get_drvdata(dev);
....@@ -390,8 +377,8 @@
390377 return count;
391378 }
392379
393
-static ssize_t show_temp_fault(struct device *dev,
394
- struct device_attribute *devattr, char *buf)
380
+static ssize_t temp_fault_show(struct device *dev,
381
+ struct device_attribute *devattr, char *buf)
395382 {
396383 int index = to_sensor_dev_attr(devattr)->index;
397384 struct fschmd_data *data = fschmd_update_device(dev);
....@@ -403,8 +390,8 @@
403390 return sprintf(buf, "1\n");
404391 }
405392
406
-static ssize_t show_temp_alarm(struct device *dev,
407
- struct device_attribute *devattr, char *buf)
393
+static ssize_t temp_alarm_show(struct device *dev,
394
+ struct device_attribute *devattr, char *buf)
408395 {
409396 int index = to_sensor_dev_attr(devattr)->index;
410397 struct fschmd_data *data = fschmd_update_device(dev);
....@@ -419,8 +406,8 @@
419406
420407 #define RPM_FROM_REG(val) ((val) * 60)
421408
422
-static ssize_t show_fan_value(struct device *dev,
423
- struct device_attribute *devattr, char *buf)
409
+static ssize_t fan_value_show(struct device *dev,
410
+ struct device_attribute *devattr, char *buf)
424411 {
425412 int index = to_sensor_dev_attr(devattr)->index;
426413 struct fschmd_data *data = fschmd_update_device(dev);
....@@ -428,8 +415,8 @@
428415 return sprintf(buf, "%u\n", RPM_FROM_REG(data->fan_act[index]));
429416 }
430417
431
-static ssize_t show_fan_div(struct device *dev,
432
- struct device_attribute *devattr, char *buf)
418
+static ssize_t fan_div_show(struct device *dev,
419
+ struct device_attribute *devattr, char *buf)
433420 {
434421 int index = to_sensor_dev_attr(devattr)->index;
435422 struct fschmd_data *data = fschmd_update_device(dev);
....@@ -438,8 +425,9 @@
438425 return sprintf(buf, "%d\n", 1 << (data->fan_ripple[index] & 3));
439426 }
440427
441
-static ssize_t store_fan_div(struct device *dev, struct device_attribute
442
- *devattr, const char *buf, size_t count)
428
+static ssize_t fan_div_store(struct device *dev,
429
+ struct device_attribute *devattr,
430
+ const char *buf, size_t count)
443431 {
444432 u8 reg;
445433 int index = to_sensor_dev_attr(devattr)->index;
....@@ -488,8 +476,8 @@
488476 return count;
489477 }
490478
491
-static ssize_t show_fan_alarm(struct device *dev,
492
- struct device_attribute *devattr, char *buf)
479
+static ssize_t fan_alarm_show(struct device *dev,
480
+ struct device_attribute *devattr, char *buf)
493481 {
494482 int index = to_sensor_dev_attr(devattr)->index;
495483 struct fschmd_data *data = fschmd_update_device(dev);
....@@ -500,8 +488,8 @@
500488 return sprintf(buf, "0\n");
501489 }
502490
503
-static ssize_t show_fan_fault(struct device *dev,
504
- struct device_attribute *devattr, char *buf)
491
+static ssize_t fan_fault_show(struct device *dev,
492
+ struct device_attribute *devattr, char *buf)
505493 {
506494 int index = to_sensor_dev_attr(devattr)->index;
507495 struct fschmd_data *data = fschmd_update_device(dev);
....@@ -513,8 +501,9 @@
513501 }
514502
515503
516
-static ssize_t show_pwm_auto_point1_pwm(struct device *dev,
517
- struct device_attribute *devattr, char *buf)
504
+static ssize_t pwm_auto_point1_pwm_show(struct device *dev,
505
+ struct device_attribute *devattr,
506
+ char *buf)
518507 {
519508 int index = to_sensor_dev_attr(devattr)->index;
520509 struct fschmd_data *data = fschmd_update_device(dev);
....@@ -527,8 +516,9 @@
527516 return sprintf(buf, "%d\n", val);
528517 }
529518
530
-static ssize_t store_pwm_auto_point1_pwm(struct device *dev,
531
- struct device_attribute *devattr, const char *buf, size_t count)
519
+static ssize_t pwm_auto_point1_pwm_store(struct device *dev,
520
+ struct device_attribute *devattr,
521
+ const char *buf, size_t count)
532522 {
533523 int index = to_sensor_dev_attr(devattr)->index;
534524 struct fschmd_data *data = dev_get_drvdata(dev);
....@@ -605,104 +595,97 @@
605595 static DEVICE_ATTR_RW(alert_led);
606596
607597 static struct sensor_device_attribute fschmd_attr[] = {
608
- SENSOR_ATTR(in0_input, 0444, show_in_value, NULL, 0),
609
- SENSOR_ATTR(in1_input, 0444, show_in_value, NULL, 1),
610
- SENSOR_ATTR(in2_input, 0444, show_in_value, NULL, 2),
611
- SENSOR_ATTR(in3_input, 0444, show_in_value, NULL, 3),
612
- SENSOR_ATTR(in4_input, 0444, show_in_value, NULL, 4),
613
- SENSOR_ATTR(in5_input, 0444, show_in_value, NULL, 5),
598
+ SENSOR_ATTR_RO(in0_input, in_value, 0),
599
+ SENSOR_ATTR_RO(in1_input, in_value, 1),
600
+ SENSOR_ATTR_RO(in2_input, in_value, 2),
601
+ SENSOR_ATTR_RO(in3_input, in_value, 3),
602
+ SENSOR_ATTR_RO(in4_input, in_value, 4),
603
+ SENSOR_ATTR_RO(in5_input, in_value, 5),
614604 };
615605
616606 static struct sensor_device_attribute fschmd_temp_attr[] = {
617
- SENSOR_ATTR(temp1_input, 0444, show_temp_value, NULL, 0),
618
- SENSOR_ATTR(temp1_max, 0644, show_temp_max, store_temp_max, 0),
619
- SENSOR_ATTR(temp1_fault, 0444, show_temp_fault, NULL, 0),
620
- SENSOR_ATTR(temp1_alarm, 0444, show_temp_alarm, NULL, 0),
621
- SENSOR_ATTR(temp2_input, 0444, show_temp_value, NULL, 1),
622
- SENSOR_ATTR(temp2_max, 0644, show_temp_max, store_temp_max, 1),
623
- SENSOR_ATTR(temp2_fault, 0444, show_temp_fault, NULL, 1),
624
- SENSOR_ATTR(temp2_alarm, 0444, show_temp_alarm, NULL, 1),
625
- SENSOR_ATTR(temp3_input, 0444, show_temp_value, NULL, 2),
626
- SENSOR_ATTR(temp3_max, 0644, show_temp_max, store_temp_max, 2),
627
- SENSOR_ATTR(temp3_fault, 0444, show_temp_fault, NULL, 2),
628
- SENSOR_ATTR(temp3_alarm, 0444, show_temp_alarm, NULL, 2),
629
- SENSOR_ATTR(temp4_input, 0444, show_temp_value, NULL, 3),
630
- SENSOR_ATTR(temp4_max, 0644, show_temp_max, store_temp_max, 3),
631
- SENSOR_ATTR(temp4_fault, 0444, show_temp_fault, NULL, 3),
632
- SENSOR_ATTR(temp4_alarm, 0444, show_temp_alarm, NULL, 3),
633
- SENSOR_ATTR(temp5_input, 0444, show_temp_value, NULL, 4),
634
- SENSOR_ATTR(temp5_max, 0644, show_temp_max, store_temp_max, 4),
635
- SENSOR_ATTR(temp5_fault, 0444, show_temp_fault, NULL, 4),
636
- SENSOR_ATTR(temp5_alarm, 0444, show_temp_alarm, NULL, 4),
637
- SENSOR_ATTR(temp6_input, 0444, show_temp_value, NULL, 5),
638
- SENSOR_ATTR(temp6_max, 0644, show_temp_max, store_temp_max, 5),
639
- SENSOR_ATTR(temp6_fault, 0444, show_temp_fault, NULL, 5),
640
- SENSOR_ATTR(temp6_alarm, 0444, show_temp_alarm, NULL, 5),
641
- SENSOR_ATTR(temp7_input, 0444, show_temp_value, NULL, 6),
642
- SENSOR_ATTR(temp7_max, 0644, show_temp_max, store_temp_max, 6),
643
- SENSOR_ATTR(temp7_fault, 0444, show_temp_fault, NULL, 6),
644
- SENSOR_ATTR(temp7_alarm, 0444, show_temp_alarm, NULL, 6),
645
- SENSOR_ATTR(temp8_input, 0444, show_temp_value, NULL, 7),
646
- SENSOR_ATTR(temp8_max, 0644, show_temp_max, store_temp_max, 7),
647
- SENSOR_ATTR(temp8_fault, 0444, show_temp_fault, NULL, 7),
648
- SENSOR_ATTR(temp8_alarm, 0444, show_temp_alarm, NULL, 7),
649
- SENSOR_ATTR(temp9_input, 0444, show_temp_value, NULL, 8),
650
- SENSOR_ATTR(temp9_max, 0644, show_temp_max, store_temp_max, 8),
651
- SENSOR_ATTR(temp9_fault, 0444, show_temp_fault, NULL, 8),
652
- SENSOR_ATTR(temp9_alarm, 0444, show_temp_alarm, NULL, 8),
653
- SENSOR_ATTR(temp10_input, 0444, show_temp_value, NULL, 9),
654
- SENSOR_ATTR(temp10_max, 0644, show_temp_max, store_temp_max, 9),
655
- SENSOR_ATTR(temp10_fault, 0444, show_temp_fault, NULL, 9),
656
- SENSOR_ATTR(temp10_alarm, 0444, show_temp_alarm, NULL, 9),
657
- SENSOR_ATTR(temp11_input, 0444, show_temp_value, NULL, 10),
658
- SENSOR_ATTR(temp11_max, 0644, show_temp_max, store_temp_max, 10),
659
- SENSOR_ATTR(temp11_fault, 0444, show_temp_fault, NULL, 10),
660
- SENSOR_ATTR(temp11_alarm, 0444, show_temp_alarm, NULL, 10),
607
+ SENSOR_ATTR_RO(temp1_input, temp_value, 0),
608
+ SENSOR_ATTR_RW(temp1_max, temp_max, 0),
609
+ SENSOR_ATTR_RO(temp1_fault, temp_fault, 0),
610
+ SENSOR_ATTR_RO(temp1_alarm, temp_alarm, 0),
611
+ SENSOR_ATTR_RO(temp2_input, temp_value, 1),
612
+ SENSOR_ATTR_RW(temp2_max, temp_max, 1),
613
+ SENSOR_ATTR_RO(temp2_fault, temp_fault, 1),
614
+ SENSOR_ATTR_RO(temp2_alarm, temp_alarm, 1),
615
+ SENSOR_ATTR_RO(temp3_input, temp_value, 2),
616
+ SENSOR_ATTR_RW(temp3_max, temp_max, 2),
617
+ SENSOR_ATTR_RO(temp3_fault, temp_fault, 2),
618
+ SENSOR_ATTR_RO(temp3_alarm, temp_alarm, 2),
619
+ SENSOR_ATTR_RO(temp4_input, temp_value, 3),
620
+ SENSOR_ATTR_RW(temp4_max, temp_max, 3),
621
+ SENSOR_ATTR_RO(temp4_fault, temp_fault, 3),
622
+ SENSOR_ATTR_RO(temp4_alarm, temp_alarm, 3),
623
+ SENSOR_ATTR_RO(temp5_input, temp_value, 4),
624
+ SENSOR_ATTR_RW(temp5_max, temp_max, 4),
625
+ SENSOR_ATTR_RO(temp5_fault, temp_fault, 4),
626
+ SENSOR_ATTR_RO(temp5_alarm, temp_alarm, 4),
627
+ SENSOR_ATTR_RO(temp6_input, temp_value, 5),
628
+ SENSOR_ATTR_RW(temp6_max, temp_max, 5),
629
+ SENSOR_ATTR_RO(temp6_fault, temp_fault, 5),
630
+ SENSOR_ATTR_RO(temp6_alarm, temp_alarm, 5),
631
+ SENSOR_ATTR_RO(temp7_input, temp_value, 6),
632
+ SENSOR_ATTR_RW(temp7_max, temp_max, 6),
633
+ SENSOR_ATTR_RO(temp7_fault, temp_fault, 6),
634
+ SENSOR_ATTR_RO(temp7_alarm, temp_alarm, 6),
635
+ SENSOR_ATTR_RO(temp8_input, temp_value, 7),
636
+ SENSOR_ATTR_RW(temp8_max, temp_max, 7),
637
+ SENSOR_ATTR_RO(temp8_fault, temp_fault, 7),
638
+ SENSOR_ATTR_RO(temp8_alarm, temp_alarm, 7),
639
+ SENSOR_ATTR_RO(temp9_input, temp_value, 8),
640
+ SENSOR_ATTR_RW(temp9_max, temp_max, 8),
641
+ SENSOR_ATTR_RO(temp9_fault, temp_fault, 8),
642
+ SENSOR_ATTR_RO(temp9_alarm, temp_alarm, 8),
643
+ SENSOR_ATTR_RO(temp10_input, temp_value, 9),
644
+ SENSOR_ATTR_RW(temp10_max, temp_max, 9),
645
+ SENSOR_ATTR_RO(temp10_fault, temp_fault, 9),
646
+ SENSOR_ATTR_RO(temp10_alarm, temp_alarm, 9),
647
+ SENSOR_ATTR_RO(temp11_input, temp_value, 10),
648
+ SENSOR_ATTR_RW(temp11_max, temp_max, 10),
649
+ SENSOR_ATTR_RO(temp11_fault, temp_fault, 10),
650
+ SENSOR_ATTR_RO(temp11_alarm, temp_alarm, 10),
661651 };
662652
663653 static struct sensor_device_attribute fschmd_fan_attr[] = {
664
- SENSOR_ATTR(fan1_input, 0444, show_fan_value, NULL, 0),
665
- SENSOR_ATTR(fan1_div, 0644, show_fan_div, store_fan_div, 0),
666
- SENSOR_ATTR(fan1_alarm, 0444, show_fan_alarm, NULL, 0),
667
- SENSOR_ATTR(fan1_fault, 0444, show_fan_fault, NULL, 0),
668
- SENSOR_ATTR(pwm1_auto_point1_pwm, 0644, show_pwm_auto_point1_pwm,
669
- store_pwm_auto_point1_pwm, 0),
670
- SENSOR_ATTR(fan2_input, 0444, show_fan_value, NULL, 1),
671
- SENSOR_ATTR(fan2_div, 0644, show_fan_div, store_fan_div, 1),
672
- SENSOR_ATTR(fan2_alarm, 0444, show_fan_alarm, NULL, 1),
673
- SENSOR_ATTR(fan2_fault, 0444, show_fan_fault, NULL, 1),
674
- SENSOR_ATTR(pwm2_auto_point1_pwm, 0644, show_pwm_auto_point1_pwm,
675
- store_pwm_auto_point1_pwm, 1),
676
- SENSOR_ATTR(fan3_input, 0444, show_fan_value, NULL, 2),
677
- SENSOR_ATTR(fan3_div, 0644, show_fan_div, store_fan_div, 2),
678
- SENSOR_ATTR(fan3_alarm, 0444, show_fan_alarm, NULL, 2),
679
- SENSOR_ATTR(fan3_fault, 0444, show_fan_fault, NULL, 2),
680
- SENSOR_ATTR(pwm3_auto_point1_pwm, 0644, show_pwm_auto_point1_pwm,
681
- store_pwm_auto_point1_pwm, 2),
682
- SENSOR_ATTR(fan4_input, 0444, show_fan_value, NULL, 3),
683
- SENSOR_ATTR(fan4_div, 0644, show_fan_div, store_fan_div, 3),
684
- SENSOR_ATTR(fan4_alarm, 0444, show_fan_alarm, NULL, 3),
685
- SENSOR_ATTR(fan4_fault, 0444, show_fan_fault, NULL, 3),
686
- SENSOR_ATTR(pwm4_auto_point1_pwm, 0644, show_pwm_auto_point1_pwm,
687
- store_pwm_auto_point1_pwm, 3),
688
- SENSOR_ATTR(fan5_input, 0444, show_fan_value, NULL, 4),
689
- SENSOR_ATTR(fan5_div, 0644, show_fan_div, store_fan_div, 4),
690
- SENSOR_ATTR(fan5_alarm, 0444, show_fan_alarm, NULL, 4),
691
- SENSOR_ATTR(fan5_fault, 0444, show_fan_fault, NULL, 4),
692
- SENSOR_ATTR(pwm5_auto_point1_pwm, 0644, show_pwm_auto_point1_pwm,
693
- store_pwm_auto_point1_pwm, 4),
694
- SENSOR_ATTR(fan6_input, 0444, show_fan_value, NULL, 5),
695
- SENSOR_ATTR(fan6_div, 0644, show_fan_div, store_fan_div, 5),
696
- SENSOR_ATTR(fan6_alarm, 0444, show_fan_alarm, NULL, 5),
697
- SENSOR_ATTR(fan6_fault, 0444, show_fan_fault, NULL, 5),
698
- SENSOR_ATTR(pwm6_auto_point1_pwm, 0644, show_pwm_auto_point1_pwm,
699
- store_pwm_auto_point1_pwm, 5),
700
- SENSOR_ATTR(fan7_input, 0444, show_fan_value, NULL, 6),
701
- SENSOR_ATTR(fan7_div, 0644, show_fan_div, store_fan_div, 6),
702
- SENSOR_ATTR(fan7_alarm, 0444, show_fan_alarm, NULL, 6),
703
- SENSOR_ATTR(fan7_fault, 0444, show_fan_fault, NULL, 6),
704
- SENSOR_ATTR(pwm7_auto_point1_pwm, 0644, show_pwm_auto_point1_pwm,
705
- store_pwm_auto_point1_pwm, 6),
654
+ SENSOR_ATTR_RO(fan1_input, fan_value, 0),
655
+ SENSOR_ATTR_RW(fan1_div, fan_div, 0),
656
+ SENSOR_ATTR_RO(fan1_alarm, fan_alarm, 0),
657
+ SENSOR_ATTR_RO(fan1_fault, fan_fault, 0),
658
+ SENSOR_ATTR_RW(pwm1_auto_point1_pwm, pwm_auto_point1_pwm, 0),
659
+ SENSOR_ATTR_RO(fan2_input, fan_value, 1),
660
+ SENSOR_ATTR_RW(fan2_div, fan_div, 1),
661
+ SENSOR_ATTR_RO(fan2_alarm, fan_alarm, 1),
662
+ SENSOR_ATTR_RO(fan2_fault, fan_fault, 1),
663
+ SENSOR_ATTR_RW(pwm2_auto_point1_pwm, pwm_auto_point1_pwm, 1),
664
+ SENSOR_ATTR_RO(fan3_input, fan_value, 2),
665
+ SENSOR_ATTR_RW(fan3_div, fan_div, 2),
666
+ SENSOR_ATTR_RO(fan3_alarm, fan_alarm, 2),
667
+ SENSOR_ATTR_RO(fan3_fault, fan_fault, 2),
668
+ SENSOR_ATTR_RW(pwm3_auto_point1_pwm, pwm_auto_point1_pwm, 2),
669
+ SENSOR_ATTR_RO(fan4_input, fan_value, 3),
670
+ SENSOR_ATTR_RW(fan4_div, fan_div, 3),
671
+ SENSOR_ATTR_RO(fan4_alarm, fan_alarm, 3),
672
+ SENSOR_ATTR_RO(fan4_fault, fan_fault, 3),
673
+ SENSOR_ATTR_RW(pwm4_auto_point1_pwm, pwm_auto_point1_pwm, 3),
674
+ SENSOR_ATTR_RO(fan5_input, fan_value, 4),
675
+ SENSOR_ATTR_RW(fan5_div, fan_div, 4),
676
+ SENSOR_ATTR_RO(fan5_alarm, fan_alarm, 4),
677
+ SENSOR_ATTR_RO(fan5_fault, fan_fault, 4),
678
+ SENSOR_ATTR_RW(pwm5_auto_point1_pwm, pwm_auto_point1_pwm, 4),
679
+ SENSOR_ATTR_RO(fan6_input, fan_value, 5),
680
+ SENSOR_ATTR_RW(fan6_div, fan_div, 5),
681
+ SENSOR_ATTR_RO(fan6_alarm, fan_alarm, 5),
682
+ SENSOR_ATTR_RO(fan6_fault, fan_fault, 5),
683
+ SENSOR_ATTR_RW(pwm6_auto_point1_pwm, pwm_auto_point1_pwm, 5),
684
+ SENSOR_ATTR_RO(fan7_input, fan_value, 6),
685
+ SENSOR_ATTR_RW(fan7_div, fan_div, 6),
686
+ SENSOR_ATTR_RO(fan7_alarm, fan_alarm, 6),
687
+ SENSOR_ATTR_RO(fan7_fault, fan_fault, 6),
688
+ SENSOR_ATTR_RW(pwm7_auto_point1_pwm, pwm_auto_point1_pwm, 6),
706689 };
707690
708691
....@@ -840,7 +823,7 @@
840823 watchdog_trigger(data);
841824 filp->private_data = data;
842825
843
- return nonseekable_open(inode, filp);
826
+ return stream_open(inode, filp);
844827 }
845828
846829 static int watchdog_release(struct inode *inode, struct file *filp)
....@@ -970,6 +953,7 @@
970953 .release = watchdog_release,
971954 .write = watchdog_write,
972955 .unlocked_ioctl = watchdog_ioctl,
956
+ .compat_ioctl = compat_ptr_ioctl,
973957 };
974958
975959
....@@ -1096,15 +1080,14 @@
10961080 return 0;
10971081 }
10981082
1099
-static int fschmd_probe(struct i2c_client *client,
1100
- const struct i2c_device_id *id)
1083
+static int fschmd_probe(struct i2c_client *client)
11011084 {
11021085 struct fschmd_data *data;
11031086 const char * const names[7] = { "Poseidon", "Hermes", "Scylla",
11041087 "Heracles", "Heimdall", "Hades", "Syleus" };
11051088 const int watchdog_minors[] = { WATCHDOG_MINOR, 212, 213, 214, 215 };
11061089 int i, err;
1107
- enum chips kind = id->driver_data;
1090
+ enum chips kind = i2c_match_id(fschmd_id, client)->driver_data;
11081091
11091092 data = kzalloc(sizeof(struct fschmd_data), GFP_KERNEL);
11101093 if (!data)
....@@ -1169,7 +1152,7 @@
11691152 for (i = 0; i < (FSCHMD_NO_TEMP_SENSORS[data->kind] * 4); i++) {
11701153 /* Poseidon doesn't have TEMP_LIMIT registers */
11711154 if (kind == fscpos && fschmd_temp_attr[i].dev_attr.show ==
1172
- show_temp_max)
1155
+ temp_max_show)
11731156 continue;
11741157
11751158 if (kind == fscsyl) {