|
@@ -274,7 +274,7 @@ static int ina2xx_get_value(struct ina2xx_data *data, u8 reg,
|
|
|
break;
|
|
|
case INA2XX_CURRENT:
|
|
|
/* signed register, result in mA */
|
|
|
- val = regval * data->current_lsb_uA;
|
|
|
+ val = (s16)regval * data->current_lsb_uA;
|
|
|
val = DIV_ROUND_CLOSEST(val, 1000);
|
|
|
break;
|
|
|
case INA2XX_CALIBRATION:
|
|
@@ -491,7 +491,7 @@ static int ina2xx_probe(struct i2c_client *client,
|
|
|
}
|
|
|
|
|
|
data->groups[group++] = &ina2xx_group;
|
|
|
- if (id->driver_data == ina226)
|
|
|
+ if (chip == ina226)
|
|
|
data->groups[group++] = &ina226_group;
|
|
|
|
|
|
hwmon_dev = devm_hwmon_device_register_with_groups(dev, client->name,
|
|
@@ -500,7 +500,7 @@ static int ina2xx_probe(struct i2c_client *client,
|
|
|
return PTR_ERR(hwmon_dev);
|
|
|
|
|
|
dev_info(dev, "power monitor %s (Rshunt = %li uOhm)\n",
|
|
|
- id->name, data->rshunt);
|
|
|
+ client->name, data->rshunt);
|
|
|
|
|
|
return 0;
|
|
|
}
|