]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
power: supply: all: switch psy_cfg from of_node to fwnode
authorSebastian Reichel <sebastian.reichel@collabora.com>
Mon, 24 Feb 2025 23:21:37 +0000 (00:21 +0100)
committerSebastian Reichel <sebastian.reichel@collabora.com>
Sat, 8 Mar 2025 00:42:34 +0000 (01:42 +0100)
When registering a power-supply device, either a of_node or the more
recent fwnode can be supplied. Since fwnode can also contain an of_node,
let's try to get rid of it.

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Acked-by: Baolin Wang <baolin.wang@linux.alibaba.com>
Acked-by: Chen-Yu Tsai <wens@csie.org>
Link: https://lore.kernel.org/r/20250225-psy-core-convert-to-fwnode-v1-4-d5e4369936bb@collabora.com
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
51 files changed:
drivers/power/supply/ab8500_charger.c
drivers/power/supply/acer_a500_battery.c
drivers/power/supply/act8945a_charger.c
drivers/power/supply/axp20x_ac_power.c
drivers/power/supply/axp20x_battery.c
drivers/power/supply/axp20x_usb_power.c
drivers/power/supply/bd99954-charger.c
drivers/power/supply/bq2415x_charger.c
drivers/power/supply/bq24190_charger.c
drivers/power/supply/bq24735-charger.c
drivers/power/supply/bq2515x_charger.c
drivers/power/supply/bq256xx_charger.c
drivers/power/supply/bq25980_charger.c
drivers/power/supply/bq27xxx_battery.c
drivers/power/supply/cpcap-battery.c
drivers/power/supply/cpcap-charger.c
drivers/power/supply/ds2760_battery.c
drivers/power/supply/generic-adc-battery.c
drivers/power/supply/gpio-charger.c
drivers/power/supply/ingenic-battery.c
drivers/power/supply/ip5xxx_power.c
drivers/power/supply/lego_ev3_battery.c
drivers/power/supply/lt3651-charger.c
drivers/power/supply/ltc4162-l-charger.c
drivers/power/supply/max17042_battery.c
drivers/power/supply/max77650-charger.c
drivers/power/supply/max8903_charger.c
drivers/power/supply/mm8013.c
drivers/power/supply/mt6360_charger.c
drivers/power/supply/mt6370-charger.c
drivers/power/supply/olpc_battery.c
drivers/power/supply/pm8916_bms_vm.c
drivers/power/supply/pm8916_lbc.c
drivers/power/supply/qcom_battmgr.c
drivers/power/supply/qcom_pmi8998_charger.c
drivers/power/supply/qcom_smbb.c
drivers/power/supply/rk817_charger.c
drivers/power/supply/rt5033_battery.c
drivers/power/supply/rt5033_charger.c
drivers/power/supply/rt9455_charger.c
drivers/power/supply/rt9467-charger.c
drivers/power/supply/rt9471.c
drivers/power/supply/sbs-battery.c
drivers/power/supply/sbs-charger.c
drivers/power/supply/sbs-manager.c
drivers/power/supply/sc2731_charger.c
drivers/power/supply/sc27xx_fuel_gauge.c
drivers/power/supply/smb347-charger.c
drivers/power/supply/tps65090-charger.c
drivers/power/supply/tps65217_charger.c
drivers/power/supply/ucs1002_power.c

index 1042d37424f5b0351edd02b5c76e58dd447d1783..5f4537766e5b907d66b44964c320bc31acc7408b 100644 (file)
@@ -3494,11 +3494,11 @@ static int ab8500_charger_probe(struct platform_device *pdev)
        di->invalid_charger_detect_state = 0;
 
        /* AC and USB supply config */
-       ac_psy_cfg.of_node = np;
+       ac_psy_cfg.fwnode = dev_fwnode(dev);
        ac_psy_cfg.supplied_to = supply_interface;
        ac_psy_cfg.num_supplicants = ARRAY_SIZE(supply_interface);
        ac_psy_cfg.drv_data = &di->ac_chg;
-       usb_psy_cfg.of_node = np;
+       usb_psy_cfg.fwnode = dev_fwnode(dev);
        usb_psy_cfg.supplied_to = supply_interface;
        usb_psy_cfg.num_supplicants = ARRAY_SIZE(supply_interface);
        usb_psy_cfg.drv_data = &di->usb_chg;
index 39d85b11a13c2350876da22ee5c427479d161351..daf01dc8025bb3d95a42b3bace2ffa8bca029263 100644 (file)
@@ -17,6 +17,7 @@
 #include <linux/sched.h>
 #include <linux/slab.h>
 #include <linux/workqueue.h>
+#include <linux/property.h>
 
 enum {
        REG_CAPACITY,
@@ -231,7 +232,7 @@ static int a500_battery_probe(struct platform_device *pdev)
 
        platform_set_drvdata(pdev, bat);
 
-       psy_cfg.of_node = pdev->dev.parent->of_node;
+       psy_cfg.fwnode = dev_fwnode(pdev->dev.parent);
        psy_cfg.drv_data = bat;
        psy_cfg.no_wakeup_source = true;
 
index b2b82f97a471204e458bcdf85f68280638451a08..3901a02f326a55f820e85346ebe0420ac9a6f113 100644 (file)
@@ -614,7 +614,7 @@ static int act8945a_charger_probe(struct platform_device *pdev)
        if (ret)
                return -EINVAL;
 
-       psy_cfg.of_node = pdev->dev.of_node;
+       psy_cfg.fwnode  = dev_fwnode(&pdev->dev);
        psy_cfg.drv_data = charger;
 
        charger->psy = devm_power_supply_register(&pdev->dev,
index e5733cb9e19e057f6c6d015b572530ca3d9c7e55..5f6ea416fa30a0328e6e1145cce3330b2fa63071 100644 (file)
@@ -364,7 +364,7 @@ static int axp20x_ac_power_probe(struct platform_device *pdev)
 
        platform_set_drvdata(pdev, power);
 
-       psy_cfg.of_node = pdev->dev.of_node;
+       psy_cfg.fwnode = dev_fwnode(&pdev->dev);
        psy_cfg.drv_data = power;
 
        power->supply = devm_power_supply_register(&pdev->dev,
index 010ac6e67b165af3a72ef20f506f3c6f338f8055..ddb0cf2564fa91721234adb13f1d4cd5ad0ccb40 100644 (file)
@@ -1112,7 +1112,7 @@ static int axp20x_power_probe(struct platform_device *pdev)
        platform_set_drvdata(pdev, axp20x_batt);
 
        psy_cfg.drv_data = axp20x_batt;
-       psy_cfg.of_node = pdev->dev.of_node;
+       psy_cfg.fwnode = dev_fwnode(&pdev->dev);
 
        axp20x_batt->data = (struct axp_data *)of_device_get_match_data(dev);
 
index 1c30851054ae5fc24729dcf796b027786d342832..e75d1e377ac12a6306c9899d56e76ec986e75bce 100644 (file)
@@ -1011,7 +1011,7 @@ static int axp20x_usb_power_probe(struct platform_device *pdev)
                        return ret;
        }
 
-       psy_cfg.of_node = pdev->dev.of_node;
+       psy_cfg.fwnode = dev_fwnode(&pdev->dev);
        psy_cfg.drv_data = power;
 
        power->supply = devm_power_supply_register(&pdev->dev,
index bd884ebee904bdff748e84efa9ee1303b2a64950..d03a70cf84067f29cfc0a01d01c0a5a95143bfa2 100644 (file)
@@ -982,7 +982,7 @@ static int bd9995x_probe(struct i2c_client *client)
        bd->client = client;
        bd->dev = dev;
        psy_cfg.drv_data = bd;
-       psy_cfg.of_node = dev->of_node;
+       psy_cfg.fwnode = dev_fwnode(dev);
 
        mutex_init(&bd->lock);
 
index 22f6a3b71632b637e3c8023e6d187fc136cdff20..9e3b9181ee76a4f473228bba022917677acce256 100644 (file)
@@ -1497,7 +1497,7 @@ static int bq2415x_power_supply_init(struct bq2415x_device *bq)
        char revstr[8];
        struct power_supply_config psy_cfg = {
                .drv_data = bq,
-               .of_node = bq->dev->of_node,
+               .fwnode = dev_fwnode(bq->dev),
                .attr_grp = bq2415x_sysfs_groups,
        };
 
index b4ba01744368c2a338105a2735a481fe36dca169..f0d97ab45bd87f3baab20bb316eaebef77d99ae8 100644 (file)
@@ -2117,7 +2117,7 @@ static int bq24190_probe(struct i2c_client *client)
 #endif
 
        charger_cfg.drv_data = bdi;
-       charger_cfg.of_node = dev->of_node;
+       charger_cfg.fwnode = dev_fwnode(dev);
        charger_cfg.supplied_to = bq24190_charger_supplied_to;
        charger_cfg.num_supplicants = ARRAY_SIZE(bq24190_charger_supplied_to);
        bdi->charger = power_supply_register(dev, &bq24190_charger_desc,
index 73a7fc867b0344cd0305d3d4b29c0e85c361554f..637e0da65f8739f623420a25d079bfb152109bc7 100644 (file)
@@ -402,7 +402,7 @@ static int bq24735_charger_probe(struct i2c_client *client)
 
        psy_cfg.supplied_to = charger->pdata->supplied_to;
        psy_cfg.num_supplicants = charger->pdata->num_supplicants;
-       psy_cfg.of_node = client->dev.of_node;
+       psy_cfg.fwnode = dev_fwnode(&client->dev);
        psy_cfg.drv_data = charger;
 
        i2c_set_clientdata(client, charger);
index 6909b1322f0d4081fd5a4b9018d995e4099f674a..437bff5bc42068cd61c95da079c214fdec85159b 100644 (file)
@@ -1102,7 +1102,7 @@ static int bq2515x_probe(struct i2c_client *client)
        i2c_set_clientdata(client, bq2515x);
 
        charger_cfg.drv_data = bq2515x;
-       charger_cfg.of_node = dev->of_node;
+       charger_cfg.fwnode = dev_fwnode(dev);
 
        ret = bq2515x_read_properties(bq2515x);
        if (ret) {
index 5514d1896bb847da6937e7c60fb540a51b46edd6..9f9b6019f8e13f986c39fbf170c622af0ac9fd37 100644 (file)
@@ -1657,7 +1657,7 @@ static int bq256xx_parse_dt(struct bq256xx_device *bq,
        int ret = 0;
 
        psy_cfg->drv_data = bq;
-       psy_cfg->of_node = dev->of_node;
+       psy_cfg->fwnode = dev_fwnode(dev);
 
        ret = device_property_read_u32(bq->dev, "ti,watchdog-timeout-ms",
                                       &bq->watchdog_timer);
index 8fdcd55ab7755e380f2c13e9b3a9c7ba19814324..4ff76e3dddf63ff0f9a80fbba6e64c75f0451496 100644 (file)
@@ -1057,7 +1057,7 @@ static int bq25980_power_supply_init(struct bq25980_device *bq,
                                                        struct device *dev)
 {
        struct power_supply_config psy_cfg = { .drv_data = bq,
-                                               .of_node = dev->of_node, };
+                                               .fwnode = dev_fwnode(dev), };
 
        psy_cfg.supplied_to = bq25980_charger_supplied_to;
        psy_cfg.num_supplicants = ARRAY_SIZE(bq25980_charger_supplied_to);
index 6a1e4b6875d2e913fa92e5af4731110abe003f45..1789167c68e3126e2c391d8b17161f6da051f7c3 100644 (file)
@@ -2248,7 +2248,7 @@ int bq27xxx_battery_setup(struct bq27xxx_device_info *di)
 {
        struct power_supply_desc *psy_desc;
        struct power_supply_config psy_cfg = {
-               .of_node = di->dev->of_node,
+               .fwnode = dev_fwnode(di->dev),
                .drv_data = di,
                .no_wakeup_source = true,
        };
index 813037c00ded567e6acdff4f202b7c8d6de80dfd..8106d1edcbc26a738874d16e6bf3ce0547a38143 100644 (file)
@@ -1130,7 +1130,7 @@ static int cpcap_battery_probe(struct platform_device *pdev)
        if (error)
                return error;
 
-       psy_cfg.of_node = pdev->dev.of_node;
+       psy_cfg.fwnode = dev_fwnode(&pdev->dev);
        psy_cfg.drv_data = ddata;
 
        ddata->psy = devm_power_supply_register(ddata->dev,
index 6625d539d9ae76e63cf6539f7fade727956c39b5..13300dc60baf9b8ba143c784fc2a1d1badf64fc6 100644 (file)
@@ -902,7 +902,7 @@ static int cpcap_charger_probe(struct platform_device *pdev)
 
        atomic_set(&ddata->active, 1);
 
-       psy_cfg.of_node = pdev->dev.of_node;
+       psy_cfg.fwnode = dev_fwnode(&pdev->dev);
        psy_cfg.drv_data = ddata;
        psy_cfg.supplied_to = cpcap_charger_supplied_to;
        psy_cfg.num_supplicants = ARRAY_SIZE(cpcap_charger_supplied_to);
index a7f7d4c3f1ee1f6095ba5293cd1e019a07f66689..5badf58c6edbce46208da1084607613df1d59e83 100644 (file)
@@ -651,12 +651,11 @@ static int w1_ds2760_add_slave(struct w1_slave *sl)
                                  ds2760_battery_external_power_changed;
 
        psy_cfg.drv_data = di;
+       psy_cfg.fwnode = dev_fwnode(dev);
 
        if (dev->of_node) {
                u32 tmp;
 
-               psy_cfg.of_node = dev->of_node;
-
                if (!of_property_read_bool(dev->of_node, "maxim,pmod-enabled"))
                        pmod_enabled = true;
 
index d5d215f5ad8b1684ea6272a82d614338a7bf19a9..f5f2566b3a32d59e3f873b6efc781f4701819545 100644 (file)
@@ -166,7 +166,7 @@ static int gab_probe(struct platform_device *pdev)
        if (!adc_bat)
                return -ENOMEM;
 
-       psy_cfg.of_node = pdev->dev.of_node;
+       psy_cfg.fwnode = dev_fwnode(&pdev->dev);
        psy_cfg.drv_data = adc_bat;
        psy_desc = &adc_bat->psy_desc;
        psy_desc->name = dev_name(&pdev->dev);
index 46d18ce6a7392b95e44cbf459566661e7f7cb0f3..1dfd5b0cb30d8e30897ed19013b79cb9dfddaeeb 100644 (file)
@@ -333,7 +333,7 @@ static int gpio_charger_probe(struct platform_device *pdev)
        charger_desc->property_is_writeable =
                                        gpio_charger_property_is_writeable;
 
-       psy_cfg.of_node = dev->of_node;
+       psy_cfg.fwnode = dev_fwnode(dev);
        psy_cfg.drv_data = gpio_charger;
 
        if (pdata) {
index 0a40f425c27723ccec49985b8b5e14a737b6a7eb..b111c7ce2be30b8110c3d34f4b8b2faf9ab99969 100644 (file)
@@ -146,7 +146,7 @@ static int ingenic_battery_probe(struct platform_device *pdev)
        desc->num_properties = ARRAY_SIZE(ingenic_battery_properties);
        desc->get_property = ingenic_battery_get_property;
        psy_cfg.drv_data = bat;
-       psy_cfg.of_node = dev->of_node;
+       psy_cfg.fwnode = dev_fwnode(dev);
 
        bat->battery = devm_power_supply_register(dev, desc, &psy_cfg);
        if (IS_ERR(bat->battery))
index c448e0ac0dfac2fff6e43d3bcb427189391bc36e..a031eadb49ddce66f45c30edc2cb546985ca503e 100644 (file)
@@ -848,7 +848,7 @@ static int ip5xxx_power_probe(struct i2c_client *client)
                fields = (const struct ip5xxx_regfield_config *)of_id->data;
        ip5xxx_setup_regs(dev, ip5xxx, fields);
 
-       psy_cfg.of_node = dev->of_node;
+       psy_cfg.fwnode = dev_fwnode(dev);
        psy_cfg.drv_data = ip5xxx;
 
        psy = devm_power_supply_register(dev, &ip5xxx_battery_desc, &psy_cfg);
index 9085de0ae1b2c6350604177ee8f5eab30d571f01..28454de057612a945c7926e4ee089aeeff9e1a49 100644 (file)
@@ -23,6 +23,7 @@
 #include <linux/mod_devicetable.h>
 #include <linux/platform_device.h>
 #include <linux/power_supply.h>
+#include <linux/property.h>
 
 struct lego_ev3_battery {
        struct iio_channel *iio_v;
@@ -198,7 +199,7 @@ static int lego_ev3_battery_probe(struct platform_device *pdev)
                batt->v_min = 48000000;
        }
 
-       psy_cfg.of_node = pdev->dev.of_node;
+       psy_cfg.fwnode = dev_fwnode(&pdev->dev);
        psy_cfg.drv_data = batt;
 
        batt->psy = devm_power_supply_register(dev, &lego_ev3_battery_desc,
index 8de500ffad95a5b0e7460155e186e5eeee206d96..ebfbdbcb7683216f01c37a2c39c1b30e22b00b53 100644 (file)
@@ -131,7 +131,7 @@ static int lt3651_charger_probe(struct platform_device *pdev)
        charger_desc->properties = lt3651_charger_properties;
        charger_desc->num_properties = ARRAY_SIZE(lt3651_charger_properties);
        charger_desc->get_property = lt3651_charger_get_property;
-       psy_cfg.of_node = pdev->dev.of_node;
+       psy_cfg.fwnode = dev_fwnode(&pdev->dev);
        psy_cfg.drv_data = lt3651_charger;
 
        lt3651_charger->charger = devm_power_supply_register(&pdev->dev,
index 99566f3c0946783e7fd9233487e74b401a20b9f2..9dd74fa9552d7daef971fef1d4c2c637732fa112 100644 (file)
@@ -1185,7 +1185,7 @@ static int ltc4162l_probe(struct i2c_client *client)
        if (!device_property_read_u32(dev, "lltc,cell-count", &value))
                info->cell_count = value;
 
-       ltc4162l_config.of_node = dev->of_node;
+       ltc4162l_config.fwnode = dev_fwnode(dev);
        ltc4162l_config.drv_data = info;
        ltc4162l_config.attr_grp = ltc4162l_attr_groups;
 
index 655b3f25dbd7ca78f530aee3663cbe241722c3cf..acea176101fa88ff2e5a9187be17575c8278d097 100644 (file)
@@ -1066,7 +1066,7 @@ static int max17042_probe(struct i2c_client *client, struct device *dev, int irq
 
        dev_set_drvdata(dev, chip);
        psy_cfg.drv_data = chip;
-       psy_cfg.of_node = dev->of_node;
+       psy_cfg.fwnode = dev_fwnode(dev);
 
        /* When current is not measured,
         * CURRENT_NOW and CURRENT_AVG properties should be invisible. */
index 5f58c0c24b4d63bad410ea086c6ccf6b2a6fcf15..4ae43668992ecda319966ffd09734986187cd653 100644 (file)
@@ -298,7 +298,7 @@ static int max77650_charger_probe(struct platform_device *pdev)
 
        chg->dev = dev;
 
-       pscfg.of_node = dev->of_node;
+       pscfg.fwnode = dev_fwnode(dev);
        pscfg.drv_data = chg;
 
        chg_irq = platform_get_irq_byname(pdev, "CHG");
index e65d0141f260b1094393f6ecd26e810da4329bce..45fbaad6c6470ad51c6a9d2fefb3d7d1f4f2f4b3 100644 (file)
@@ -349,7 +349,7 @@ static int max8903_probe(struct platform_device *pdev)
        data->psy_desc.properties = max8903_charger_props;
        data->psy_desc.num_properties = ARRAY_SIZE(max8903_charger_props);
 
-       psy_cfg.of_node = dev->of_node;
+       psy_cfg.fwnode = dev_fwnode(dev);
        psy_cfg.drv_data = data;
 
        data->psy = devm_power_supply_register(dev, &data->psy_desc, &psy_cfg);
index 4adf2acc2779366323e52c467cff4f99ebb9d6ea..93c50cff31bca3b7d526d67b22ee1f64e3f29add 100644 (file)
@@ -274,7 +274,7 @@ static int mm8013_probe(struct i2c_client *client)
                return dev_err_probe(dev, ret, "MM8013 not found\n");
 
        psy_cfg.drv_data = chip;
-       psy_cfg.of_node = dev->of_node;
+       psy_cfg.fwnode = dev_fwnode(dev);
 
        psy = devm_power_supply_register(dev, &mm8013_desc, &psy_cfg);
        if (IS_ERR(psy))
index e99e551489761aa3b70ef33f8b65d59a8e117166..77747eb51667230008e2318543e6cdf0aab3664a 100644 (file)
@@ -810,7 +810,7 @@ static int mt6360_charger_probe(struct platform_device *pdev)
        memcpy(&mci->psy_desc, &mt6360_charger_desc, sizeof(mci->psy_desc));
        mci->psy_desc.name = dev_name(&pdev->dev);
        charger_cfg.drv_data = mci;
-       charger_cfg.of_node = pdev->dev.of_node;
+       charger_cfg.fwnode = dev_fwnode(&pdev->dev);
        mci->psy = devm_power_supply_register(&pdev->dev,
                                              &mci->psy_desc, &charger_cfg);
        if (IS_ERR(mci->psy))
index ad8793bf997e15a7d6a6bca96e538e6056bb3153..a6939c6059c7fd0da08087d87fdaf2244914d222 100644 (file)
@@ -752,7 +752,7 @@ static int mt6370_chg_init_psy(struct mt6370_priv *priv)
 {
        struct power_supply_config cfg = {
                .drv_data = priv,
-               .of_node = dev_of_node(priv->dev),
+               .fwnode = dev_fwnode(priv->dev),
        };
 
        priv->psy = devm_power_supply_register(priv->dev, &mt6370_chg_psy_desc,
index 849f63e89ba09047bba30813723512780b9cdeb0..b9b6078226763459ad805db266d6e52d6de057ee 100644 (file)
@@ -674,7 +674,7 @@ static int olpc_battery_probe(struct platform_device *pdev)
 
        /* Ignore the status. It doesn't actually matter */
 
-       ac_psy_cfg.of_node = pdev->dev.of_node;
+       ac_psy_cfg.fwnode = dev_fwnode(&pdev->dev);
        ac_psy_cfg.drv_data = data;
 
        data->olpc_ac = devm_power_supply_register(&pdev->dev, &olpc_ac_desc,
@@ -692,7 +692,7 @@ static int olpc_battery_probe(struct platform_device *pdev)
                olpc_bat_desc.num_properties = ARRAY_SIZE(olpc_xo1_bat_props);
        }
 
-       bat_psy_cfg.of_node = pdev->dev.of_node;
+       bat_psy_cfg.fwnode = dev_fwnode(&pdev->dev);
        bat_psy_cfg.drv_data = data;
        bat_psy_cfg.attr_grp = olpc_bat_sysfs_groups;
 
index 5d0dd842509c4b90853b23266a30c6cae172fc53..5120be086e6ffc6bb86f297a67192b29e2162d43 100644 (file)
@@ -210,7 +210,7 @@ static int pm8916_bms_vm_battery_probe(struct platform_device *pdev)
        bat->vbat_now = bat->last_ocv;
 
        psy_cfg.drv_data = bat;
-       psy_cfg.of_node = dev->of_node;
+       psy_cfg.fwnode = dev_fwnode(dev);
 
        bat->battery = devm_power_supply_register(dev, &pm8916_bms_vm_battery_psy_desc, &psy_cfg);
        if (IS_ERR(bat->battery))
index 6d92e98cbecc682768bf8c6048735b4687088186..c74b75b1b2676c3dfbb782dad048c8356cc0e951 100644 (file)
@@ -322,7 +322,7 @@ static int pm8916_lbc_charger_probe(struct platform_device *pdev)
                dev_err_probe(dev, ret, "Error while parsing device tree\n");
 
        psy_cfg.drv_data = chg;
-       psy_cfg.of_node = dev->of_node;
+       psy_cfg.fwnode = dev_fwnode(dev);
 
        chg->charger = devm_power_supply_register(dev, &pm8916_lbc_charger_psy_desc, &psy_cfg);
        if (IS_ERR(chg->charger))
index 47d29271ddf400b76dd5b0a1b8d1ba86c017afc0..fe27676fbc7cd12292caa6fb3b5b46a18c426e6d 100644 (file)
@@ -8,6 +8,7 @@
 #include <linux/mutex.h>
 #include <linux/of_device.h>
 #include <linux/power_supply.h>
+#include <linux/property.h>
 #include <linux/soc/qcom/pdr.h>
 #include <linux/soc/qcom/pmic_glink.h>
 #include <linux/math.h>
@@ -1336,10 +1337,10 @@ static int qcom_battmgr_probe(struct auxiliary_device *adev,
        battmgr->dev = dev;
 
        psy_cfg.drv_data = battmgr;
-       psy_cfg.of_node = adev->dev.of_node;
+       psy_cfg.fwnode = dev_fwnode(&adev->dev);
 
        psy_cfg_supply.drv_data = battmgr;
-       psy_cfg_supply.of_node = adev->dev.of_node;
+       psy_cfg_supply.fwnode = dev_fwnode(&adev->dev);
        psy_cfg_supply.supplied_to = qcom_battmgr_battery;
        psy_cfg_supply.num_supplicants = 1;
 
index 3b4132376649e088d14753de05982e8ea0d18371..74a8d8ed8d9fa305416b1e543ecf12846d557091 100644 (file)
@@ -964,7 +964,7 @@ static int smb2_probe(struct platform_device *pdev)
                return rc;
 
        supply_config.drv_data = chip;
-       supply_config.of_node = pdev->dev.of_node;
+       supply_config.fwnode = dev_fwnode(&pdev->dev);
 
        desc = devm_kzalloc(chip->dev, sizeof(smb2_psy_desc), GFP_KERNEL);
        if (!desc)
index a79563f6ff7a0c1b7d4aab85f6a42cc27fbb43ca..28afe758a2dabe31eaf753b907467a667ab42f61 100644 (file)
@@ -880,7 +880,7 @@ static int smbb_charger_probe(struct platform_device *pdev)
        }
 
        bat_cfg.drv_data = chg;
-       bat_cfg.of_node = pdev->dev.of_node;
+       bat_cfg.fwnode = dev_fwnode(&pdev->dev);
        chg->bat_psy = devm_power_supply_register(&pdev->dev,
                                                  &bat_psy_desc,
                                                  &bat_cfg);
index e5f35d083c23d5d86b3dca454f666383f828e524..945c7720c4ae905e2f0204cbef1534f7ec2a3a62 100644 (file)
@@ -1088,7 +1088,7 @@ static int rk817_charger_probe(struct platform_device *pdev)
        rk817_bat_calib_vol(charger);
 
        pscfg.drv_data = charger;
-       pscfg.of_node = node;
+       pscfg.fwnode = node ? &node->fwnode : NULL;
 
        /*
         * Get sample resistor value. Note only values of 10000 or 20000
index 7a27b262fb84a73db82b12e97c2fb57162709e14..b2674adfa30b41475abae1d6973a37272dbcfb92 100644 (file)
@@ -160,7 +160,7 @@ static int rt5033_battery_probe(struct i2c_client *client)
        }
 
        i2c_set_clientdata(client, battery);
-       psy_cfg.of_node = client->dev.of_node;
+       psy_cfg.fwnode = dev_fwnode(&client->dev);
        psy_cfg.drv_data = battery;
 
        battery->psy = devm_power_supply_register(&client->dev,
index d19c7e80a92aa8f1f2f018e8e8d59ed0c58cc8a9..2fdc5843970754270754623ddf8abf758c69e2cf 100644 (file)
@@ -16,6 +16,7 @@
 #include <linux/power_supply.h>
 #include <linux/regmap.h>
 #include <linux/mfd/rt5033-private.h>
+#include <linux/property.h>
 
 struct rt5033_charger_data {
        unsigned int pre_uamp;
@@ -675,7 +676,7 @@ static int rt5033_charger_probe(struct platform_device *pdev)
        charger->regmap = dev_get_regmap(pdev->dev.parent, NULL);
        mutex_init(&charger->lock);
 
-       psy_cfg.of_node = pdev->dev.of_node;
+       psy_cfg.fwnode = dev_fwnode(&pdev->dev);
        psy_cfg.drv_data = charger;
 
        charger->psy = devm_power_supply_register(charger->dev,
index ff15e20ec70af86f6c468b94d1d1e803d241ee79..1ffe7f02932f6dbbf10944ba32e6eef0077329b1 100644 (file)
@@ -1658,7 +1658,7 @@ static int rt9455_probe(struct i2c_client *client)
        INIT_DEFERRABLE_WORK(&info->batt_presence_work,
                             rt9455_batt_presence_work_callback);
 
-       rt9455_charger_config.of_node           = dev->of_node;
+       rt9455_charger_config.fwnode            = dev_fwnode(dev);
        rt9455_charger_config.drv_data          = info;
        rt9455_charger_config.supplied_to       = rt9455_charger_supplied_to;
        rt9455_charger_config.num_supplicants   =
index 235169c85c5d8a8014ff585b6740aaec3243a068..e9aba9ad393c9cec309c49e7fb21286f77555261 100644 (file)
@@ -826,7 +826,7 @@ static int rt9467_register_psy(struct rt9467_chg_data *data)
 {
        struct power_supply_config cfg = {
                .drv_data = data,
-               .of_node = dev_of_node(data->dev),
+               .fwnode = dev_fwnode(data->dev),
                .attr_grp = rt9467_sysfs_groups,
        };
 
index 67b86ac91a21ddc0e3d0271b5f535c47600bc101..bd966abb4df5767f6f0353d08ea0eac2c3972b5b 100644 (file)
@@ -723,7 +723,7 @@ static int rt9471_register_psy(struct rt9471_chip *chip)
        char *psy_name;
 
        cfg.drv_data = chip;
-       cfg.of_node = dev->of_node;
+       cfg.fwnode = dev_fwnode(dev);
        cfg.attr_grp = rt9471_sysfs_groups;
 
        psy_name = devm_kasprintf(dev, GFP_KERNEL, "rt9471-%s", dev_name(dev));
index 6f3d0413b1c127fc4c5a16728d71be8ae340d05d..943c82ee978f40abd2b1f2ecd4850cf3b41fd446 100644 (file)
@@ -1138,7 +1138,7 @@ static int sbs_probe(struct i2c_client *client)
 
        chip->flags = (uintptr_t)i2c_get_match_data(client);
        chip->client = client;
-       psy_cfg.of_node = client->dev.of_node;
+       psy_cfg.fwnode = dev_fwnode(&client->dev);
        psy_cfg.drv_data = chip;
        chip->last_state = POWER_SUPPLY_STATUS_UNKNOWN;
        sbs_invalidate_cached_props(chip);
index ab3f095d90ea7c1c599aea61acce9138c37a269a..27764123b929e2357daf29676506531a6f3f7664 100644 (file)
@@ -173,7 +173,7 @@ static int sbs_probe(struct i2c_client *client)
                return -ENOMEM;
 
        chip->client = client;
-       psy_cfg.of_node = client->dev.of_node;
+       psy_cfg.fwnode = dev_fwnode(&client->dev);
        psy_cfg.drv_data = chip;
 
        i2c_set_clientdata(client, chip);
index 7d2f39f19acbf00d2d29850cd97063bb5f02eb3c..869729dfcd664c061dfff1bff30ab756748d73d4 100644 (file)
@@ -379,7 +379,7 @@ static int sbsm_probe(struct i2c_client *client)
                return ret;
 
        psy_cfg.drv_data = data;
-       psy_cfg.of_node = dev->of_node;
+       psy_cfg.fwnode = dev_fwnode(dev);
        data->psy = devm_power_supply_register(dev, psy_desc, &psy_cfg);
        if (IS_ERR(data->psy))
                return dev_err_probe(dev, PTR_ERR(data->psy),
index 50d5157af9277dc09fe24852747f4f62e72bc712..58b86fd78771360f74ffdad152c3905e1bee7c1b 100644 (file)
@@ -480,7 +480,7 @@ static int sc2731_charger_probe(struct platform_device *pdev)
        }
 
        charger_cfg.drv_data = info;
-       charger_cfg.of_node = np;
+       charger_cfg.fwnode = dev_fwnode(&pdev->dev);
        info->psy_usb = devm_power_supply_register(&pdev->dev,
                                                   &sc2731_charger_desc,
                                                   &charger_cfg);
index 573838ca8ed87e1c2b22b9ea9d95f557c2cb3267..a7ed9de8a289662c4b6bf469eb9599b55b3de91d 100644 (file)
@@ -1140,7 +1140,6 @@ disable_fgu:
 static int sc27xx_fgu_probe(struct platform_device *pdev)
 {
        struct device *dev = &pdev->dev;
-       struct device_node *np = dev->of_node;
        struct power_supply_config fgu_cfg = { };
        struct sc27xx_fgu_data *data;
        int ret, irq;
@@ -1204,7 +1203,7 @@ static int sc27xx_fgu_probe(struct platform_device *pdev)
        platform_set_drvdata(pdev, data);
 
        fgu_cfg.drv_data = data;
-       fgu_cfg.of_node = np;
+       fgu_cfg.fwnode = dev_fwnode(dev);
        data->battery = devm_power_supply_register(dev, &sc27xx_fgu_desc,
                                                   &fgu_cfg);
        if (IS_ERR(data->battery)) {
index 75ad3bb16ac8ab2491277267bd233249f220fffd..8b95f7e8712f1c28a8a04487c40394ea9f36956f 100644 (file)
@@ -1553,7 +1553,7 @@ static int smb347_probe(struct i2c_client *client)
                return PTR_ERR(smb->regmap);
 
        mains_usb_cfg.drv_data = smb;
-       mains_usb_cfg.of_node = dev->of_node;
+       mains_usb_cfg.fwnode = dev_fwnode(dev);
        if (smb->use_mains) {
                smb->mains = devm_power_supply_register(dev, &smb347_mains_desc,
                                                        &mains_usb_cfg);
index d65193e410a6251e80e481ed6fc3d36128c5678c..d010f013af8cec790d135b651fbc6330c8907b0e 100644 (file)
@@ -259,7 +259,7 @@ static int tps65090_charger_probe(struct platform_device *pdev)
 
        psy_cfg.supplied_to             = pdata->supplied_to;
        psy_cfg.num_supplicants         = pdata->num_supplicants;
-       psy_cfg.of_node                 = pdev->dev.of_node;
+       psy_cfg.fwnode                  = dev_fwnode(&pdev->dev);
        psy_cfg.drv_data                = cdata;
 
        cdata->ac = devm_power_supply_register(&pdev->dev, &tps65090_charger_desc,
index 6fff44e1ecac80797fd33cdc3c10b0c23ce19c28..6af17ce0b2040bb3ba5835c6dc13b867f316141d 100644 (file)
@@ -198,7 +198,7 @@ static int tps65217_charger_probe(struct platform_device *pdev)
        charger->tps = tps;
        charger->dev = &pdev->dev;
 
-       cfg.of_node = pdev->dev.of_node;
+       cfg.fwnode = dev_fwnode(&pdev->dev);
        cfg.drv_data = charger;
 
        charger->psy = devm_power_supply_register(&pdev->dev,
index 7382bec6a43c776119bbcfd9070d6ca9629ab810..d32a7633f9e7d725cecf6659ed5b49c4fe2accd5 100644 (file)
@@ -560,7 +560,7 @@ static int ucs1002_probe(struct i2c_client *client)
        irq_a_det = of_irq_get_byname(dev->of_node, "a_det");
        irq_alert = of_irq_get_byname(dev->of_node, "alert");
 
-       charger_config.of_node = dev->of_node;
+       charger_config.fwnode = dev_fwnode(dev);
        charger_config.drv_data = info;
 
        ret = regmap_read(info->regmap, UCS1002_REG_PRODUCT_ID, &regval);