Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'hwmon-for-v4.20-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging

Pull hwmon fixes from Guenter Roeck:

- fix temp4_type attribute permissions in w83795 driver

- fix tacho fault detection in mlxreg-fan driver

- fix current value calculations in ina2xx driver

- fix initial notification/warning in raspberrypi driver

- fix a NULL pointer access in ina2xx

* tag 'hwmon-for-v4.20-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
hwmon: (w83795) temp4_type has writable permission
hwmon: (mlxreg-fan) Fix macros for tacho fault reading
hwmon: (ina2xx) Fix current value calculation
hwmon: (raspberrypi) Fix initial notify
hwmon (ina2xx) Fix NULL id pointer in probe()

+5 -11
+3 -3
drivers/hwmon/ina2xx.c
··· 274 274 break; 275 275 case INA2XX_CURRENT: 276 276 /* signed register, result in mA */ 277 - val = regval * data->current_lsb_uA; 277 + val = (s16)regval * data->current_lsb_uA; 278 278 val = DIV_ROUND_CLOSEST(val, 1000); 279 279 break; 280 280 case INA2XX_CALIBRATION: ··· 491 491 } 492 492 493 493 data->groups[group++] = &ina2xx_group; 494 - if (id->driver_data == ina226) 494 + if (chip == ina226) 495 495 data->groups[group++] = &ina226_group; 496 496 497 497 hwmon_dev = devm_hwmon_device_register_with_groups(dev, client->name, ··· 500 500 return PTR_ERR(hwmon_dev); 501 501 502 502 dev_info(dev, "power monitor %s (Rshunt = %li uOhm)\n", 503 - id->name, data->rshunt); 503 + client->name, data->rshunt); 504 504 505 505 return 0; 506 506 }
+1 -1
drivers/hwmon/mlxreg-fan.c
··· 51 51 */ 52 52 #define MLXREG_FAN_GET_RPM(rval, d, s) (DIV_ROUND_CLOSEST(15000000 * 100, \ 53 53 ((rval) + (s)) * (d))) 54 - #define MLXREG_FAN_GET_FAULT(val, mask) (!!((val) ^ (mask))) 54 + #define MLXREG_FAN_GET_FAULT(val, mask) (!((val) ^ (mask))) 55 55 #define MLXREG_FAN_PWM_DUTY2STATE(duty) (DIV_ROUND_CLOSEST((duty) * \ 56 56 MLXREG_FAN_MAX_STATE, \ 57 57 MLXREG_FAN_MAX_DUTY))
-6
drivers/hwmon/raspberrypi-hwmon.c
··· 115 115 { 116 116 struct device *dev = &pdev->dev; 117 117 struct rpi_hwmon_data *data; 118 - int ret; 119 118 120 119 data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL); 121 120 if (!data) ··· 122 123 123 124 /* Parent driver assure that firmware is correct */ 124 125 data->fw = dev_get_drvdata(dev->parent); 125 - 126 - /* Init throttled */ 127 - ret = rpi_firmware_property(data->fw, RPI_FIRMWARE_GET_THROTTLED, 128 - &data->last_throttled, 129 - sizeof(data->last_throttled)); 130 126 131 127 data->hwmon_dev = devm_hwmon_device_register_with_info(dev, "rpi_volt", 132 128 data,
+1 -1
drivers/hwmon/w83795.c
··· 1691 1691 * somewhere else in the code 1692 1692 */ 1693 1693 #define SENSOR_ATTR_TEMP(index) { \ 1694 - SENSOR_ATTR_2(temp##index##_type, S_IRUGO | (index < 4 ? S_IWUSR : 0), \ 1694 + SENSOR_ATTR_2(temp##index##_type, S_IRUGO | (index < 5 ? S_IWUSR : 0), \ 1695 1695 show_temp_mode, store_temp_mode, NOT_USED, index - 1), \ 1696 1696 SENSOR_ATTR_2(temp##index##_input, S_IRUGO, show_temp, \ 1697 1697 NULL, TEMP_READ, index - 1), \