Commit 6f8b52ba authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'hwmon-for-v4.20-rc5' of...

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()
parents 2e6e902d 09aaf681
...@@ -274,7 +274,7 @@ static int ina2xx_get_value(struct ina2xx_data *data, u8 reg, ...@@ -274,7 +274,7 @@ static int ina2xx_get_value(struct ina2xx_data *data, u8 reg,
break; break;
case INA2XX_CURRENT: case INA2XX_CURRENT:
/* signed register, result in mA */ /* signed register, result in mA */
val = regval * data->current_lsb_uA; val = (s16)regval * data->current_lsb_uA;
val = DIV_ROUND_CLOSEST(val, 1000); val = DIV_ROUND_CLOSEST(val, 1000);
break; break;
case INA2XX_CALIBRATION: case INA2XX_CALIBRATION:
...@@ -491,7 +491,7 @@ static int ina2xx_probe(struct i2c_client *client, ...@@ -491,7 +491,7 @@ static int ina2xx_probe(struct i2c_client *client,
} }
data->groups[group++] = &ina2xx_group; data->groups[group++] = &ina2xx_group;
if (id->driver_data == ina226) if (chip == ina226)
data->groups[group++] = &ina226_group; data->groups[group++] = &ina226_group;
hwmon_dev = devm_hwmon_device_register_with_groups(dev, client->name, hwmon_dev = devm_hwmon_device_register_with_groups(dev, client->name,
...@@ -500,7 +500,7 @@ static int ina2xx_probe(struct i2c_client *client, ...@@ -500,7 +500,7 @@ static int ina2xx_probe(struct i2c_client *client,
return PTR_ERR(hwmon_dev); return PTR_ERR(hwmon_dev);
dev_info(dev, "power monitor %s (Rshunt = %li uOhm)\n", dev_info(dev, "power monitor %s (Rshunt = %li uOhm)\n",
id->name, data->rshunt); client->name, data->rshunt);
return 0; return 0;
} }
......
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
*/ */
#define MLXREG_FAN_GET_RPM(rval, d, s) (DIV_ROUND_CLOSEST(15000000 * 100, \ #define MLXREG_FAN_GET_RPM(rval, d, s) (DIV_ROUND_CLOSEST(15000000 * 100, \
((rval) + (s)) * (d))) ((rval) + (s)) * (d)))
#define MLXREG_FAN_GET_FAULT(val, mask) (!!((val) ^ (mask))) #define MLXREG_FAN_GET_FAULT(val, mask) (!((val) ^ (mask)))
#define MLXREG_FAN_PWM_DUTY2STATE(duty) (DIV_ROUND_CLOSEST((duty) * \ #define MLXREG_FAN_PWM_DUTY2STATE(duty) (DIV_ROUND_CLOSEST((duty) * \
MLXREG_FAN_MAX_STATE, \ MLXREG_FAN_MAX_STATE, \
MLXREG_FAN_MAX_DUTY)) MLXREG_FAN_MAX_DUTY))
......
...@@ -115,7 +115,6 @@ static int rpi_hwmon_probe(struct platform_device *pdev) ...@@ -115,7 +115,6 @@ static int rpi_hwmon_probe(struct platform_device *pdev)
{ {
struct device *dev = &pdev->dev; struct device *dev = &pdev->dev;
struct rpi_hwmon_data *data; struct rpi_hwmon_data *data;
int ret;
data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL); data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL);
if (!data) if (!data)
...@@ -124,11 +123,6 @@ static int rpi_hwmon_probe(struct platform_device *pdev) ...@@ -124,11 +123,6 @@ static int rpi_hwmon_probe(struct platform_device *pdev)
/* Parent driver assure that firmware is correct */ /* Parent driver assure that firmware is correct */
data->fw = dev_get_drvdata(dev->parent); data->fw = dev_get_drvdata(dev->parent);
/* Init throttled */
ret = rpi_firmware_property(data->fw, RPI_FIRMWARE_GET_THROTTLED,
&data->last_throttled,
sizeof(data->last_throttled));
data->hwmon_dev = devm_hwmon_device_register_with_info(dev, "rpi_volt", data->hwmon_dev = devm_hwmon_device_register_with_info(dev, "rpi_volt",
data, data,
&rpi_chip_info, &rpi_chip_info,
......
...@@ -1691,7 +1691,7 @@ store_sf_setup(struct device *dev, struct device_attribute *attr, ...@@ -1691,7 +1691,7 @@ store_sf_setup(struct device *dev, struct device_attribute *attr,
* somewhere else in the code * somewhere else in the code
*/ */
#define SENSOR_ATTR_TEMP(index) { \ #define SENSOR_ATTR_TEMP(index) { \
SENSOR_ATTR_2(temp##index##_type, S_IRUGO | (index < 4 ? S_IWUSR : 0), \ SENSOR_ATTR_2(temp##index##_type, S_IRUGO | (index < 5 ? S_IWUSR : 0), \
show_temp_mode, store_temp_mode, NOT_USED, index - 1), \ show_temp_mode, store_temp_mode, NOT_USED, index - 1), \
SENSOR_ATTR_2(temp##index##_input, S_IRUGO, show_temp, \ SENSOR_ATTR_2(temp##index##_input, S_IRUGO, show_temp, \
NULL, TEMP_READ, index - 1), \ NULL, TEMP_READ, index - 1), \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment