[RESEND PATCH 1/3] power: supply: max17040: pass the device fwnode to the power supply core
From: Hugo Karlsson
Date: Sun Nov 08 2026 - 10:44:29 EST
Since commit f4b782af61ae ("power: max17040: pass status property from
supplier") the driver forwards POWER_SUPPLY_PROP_STATUS to its supplier,
and the DT binding documents a power-supplies property for naming that
supplier. The driver never passes its device node to
devm_power_supply_register(), however, so the power supply core cannot
parse power-supplies and the battery never gets a supplier from
firmware. The status lookup then always returns -ENODEV and userspace
sees POWER_SUPPLY_STATUS_UNKNOWN.
Set psy_cfg.fwnode the way max17042_battery and cw2015_battery already
do.
Fixes: f4b782af61ae ("power: max17040: pass status property from supplier")
Assisted-by: Claude:claude-opus-5-5 [Claude Code]
Signed-off-by: Hugo Karlsson <huggek@xxxxxxxxxxx>
---
drivers/power/supply/max17040_battery.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/power/supply/max17040_battery.c b/drivers/power/supply/max17040_battery.c
index 16e42de284..4cb26eca56 100644
--- a/drivers/power/supply/max17040_battery.c
+++ b/drivers/power/supply/max17040_battery.c
@@ -499,6 +499,7 @@ static int max17040_probe(struct i2c_client *client)
i2c_set_clientdata(client, chip);
psy_cfg.drv_data = chip;
+ psy_cfg.fwnode = dev_fwnode(&client->dev);
/* Switch to devm_iio_channel_get_optional when available */
chip->channel_temp = devm_iio_channel_get(&client->dev, "temp");
--
2.55.0.windows.5