forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-01-31 f70575805708cabdedea7498aaa3f710fde4d920
kernel/drivers/hwmon/pmbus/ir35221.c
....@@ -1,12 +1,8 @@
1
+// SPDX-License-Identifier: GPL-2.0-or-later
12 /*
23 * Hardware monitoring driver for IR35221
34 *
45 * Copyright (C) IBM Corporation 2017.
5
- *
6
- * This program is free software; you can redistribute it and/or
7
- * modify it under the terms of the GNU General Public License
8
- * as published by the Free Software Foundation; either version
9
- * 2 of the License, or (at your option) any later version.
106 */
117
128 #include <linux/err.h>
....@@ -25,37 +21,42 @@
2521 #define IR35221_MFR_IOUT_VALLEY 0xcb
2622 #define IR35221_MFR_TEMP_VALLEY 0xcc
2723
28
-static int ir35221_read_word_data(struct i2c_client *client, int page, int reg)
24
+static int ir35221_read_word_data(struct i2c_client *client, int page,
25
+ int phase, int reg)
2926 {
3027 int ret;
3128
3229 switch (reg) {
3330 case PMBUS_VIRT_READ_VIN_MAX:
34
- ret = pmbus_read_word_data(client, page, IR35221_MFR_VIN_PEAK);
31
+ ret = pmbus_read_word_data(client, page, phase,
32
+ IR35221_MFR_VIN_PEAK);
3533 break;
3634 case PMBUS_VIRT_READ_VOUT_MAX:
37
- ret = pmbus_read_word_data(client, page, IR35221_MFR_VOUT_PEAK);
35
+ ret = pmbus_read_word_data(client, page, phase,
36
+ IR35221_MFR_VOUT_PEAK);
3837 break;
3938 case PMBUS_VIRT_READ_IOUT_MAX:
40
- ret = pmbus_read_word_data(client, page, IR35221_MFR_IOUT_PEAK);
39
+ ret = pmbus_read_word_data(client, page, phase,
40
+ IR35221_MFR_IOUT_PEAK);
4141 break;
4242 case PMBUS_VIRT_READ_TEMP_MAX:
43
- ret = pmbus_read_word_data(client, page, IR35221_MFR_TEMP_PEAK);
43
+ ret = pmbus_read_word_data(client, page, phase,
44
+ IR35221_MFR_TEMP_PEAK);
4445 break;
4546 case PMBUS_VIRT_READ_VIN_MIN:
46
- ret = pmbus_read_word_data(client, page,
47
+ ret = pmbus_read_word_data(client, page, phase,
4748 IR35221_MFR_VIN_VALLEY);
4849 break;
4950 case PMBUS_VIRT_READ_VOUT_MIN:
50
- ret = pmbus_read_word_data(client, page,
51
+ ret = pmbus_read_word_data(client, page, phase,
5152 IR35221_MFR_VOUT_VALLEY);
5253 break;
5354 case PMBUS_VIRT_READ_IOUT_MIN:
54
- ret = pmbus_read_word_data(client, page,
55
+ ret = pmbus_read_word_data(client, page, phase,
5556 IR35221_MFR_IOUT_VALLEY);
5657 break;
5758 case PMBUS_VIRT_READ_TEMP_MIN:
58
- ret = pmbus_read_word_data(client, page,
59
+ ret = pmbus_read_word_data(client, page, phase,
5960 IR35221_MFR_TEMP_VALLEY);
6061 break;
6162 default:
....@@ -66,8 +67,7 @@
6667 return ret;
6768 }
6869
69
-static int ir35221_probe(struct i2c_client *client,
70
- const struct i2c_device_id *id)
70
+static int ir35221_probe(struct i2c_client *client)
7171 {
7272 struct pmbus_driver_info *info;
7373 u8 buf[I2C_SMBUS_BLOCK_MAX];
....@@ -122,7 +122,7 @@
122122 | PMBUS_HAVE_STATUS_INPUT | PMBUS_HAVE_STATUS_TEMP;
123123 info->func[1] = info->func[0];
124124
125
- return pmbus_do_probe(client, id, info);
125
+ return pmbus_do_probe(client, info);
126126 }
127127
128128 static const struct i2c_device_id ir35221_id[] = {
....@@ -136,7 +136,7 @@
136136 .driver = {
137137 .name = "ir35221",
138138 },
139
- .probe = ir35221_probe,
139
+ .probe_new = ir35221_probe,
140140 .remove = pmbus_do_remove,
141141 .id_table = ir35221_id,
142142 };