Expose current sensors found on UCS1002 via HWMON.
Signed-off-by: Andrey Smirnov <[email protected]>
Cc: Chris Healy <[email protected]>
Cc: Lucas Stach <[email protected]>
Cc: Fabio Estevam <[email protected]>
Cc: Guenter Roeck <[email protected]>
Cc: Sebastian Reichel <[email protected]>
Cc: [email protected]
Cc: [email protected]
---
drivers/power/supply/ucs1002_power.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/drivers/power/supply/ucs1002_power.c
b/drivers/power/supply/ucs1002_power.c
index 1c89d030c045..1faf2ef7d3f0 100644
--- a/drivers/power/supply/ucs1002_power.c
+++ b/drivers/power/supply/ucs1002_power.c
@@ -491,7 +491,7 @@ static const struct regulator_desc
ucs1002_regulator_descriptor = {
static int ucs1002_probe(struct i2c_client *client,
const struct i2c_device_id *dev_id)
{
- struct device *dev = &client->dev;
+ struct device *hwmon, *dev = &client->dev;
struct power_supply_config charger_config = {};
const struct regmap_config regmap_config = {
.reg_bits = 8,
@@ -571,6 +571,13 @@ static int ucs1002_probe(struct i2c_client *client,
return ret;
}
+ hwmon = devm_power_supply_add_hwmon_sysfs(info->charger);
+ ret = PTR_ERR_OR_ZERO(hwmon);
+ if (ret) {
+ dev_err(dev, "Failed to add hmwon attributes: %d\n", ret);
+ return ret;
+ }
+
ret = regmap_read(info->regmap, UCS1002_REG_PIN_STATUS, ®val);
if (ret) {
dev_err(dev, "Failed to read pin status: %d\n", ret);
--
2.21.0