]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
power: supply: core: get rid of of_node
authorSebastian Reichel <sebastian.reichel@collabora.com>
Mon, 24 Feb 2025 23:21:34 +0000 (00:21 +0100)
committerSebastian Reichel <sebastian.reichel@collabora.com>
Sat, 8 Mar 2025 00:42:34 +0000 (01:42 +0100)
This removes .of_node from 'struct power_supply', since there
is already a copy in .dev.of_node and there is no need to have
two copies.

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20250225-psy-core-convert-to-fwnode-v1-1-d5e4369936bb@collabora.com
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
drivers/power/supply/power_supply_core.c
include/linux/power_supply.h

index 0223b8ff0f07ec6221fa02231d54b4833daa6630..9d5a9dfa4c5aef5ad4279539e910aa51227feff2 100644 (file)
@@ -200,11 +200,11 @@ static int __power_supply_populate_supplied_from(struct power_supply *epsy,
        int i = 0;
 
        do {
-               np = of_parse_phandle(psy->of_node, "power-supplies", i++);
+               np = of_parse_phandle(psy->dev.of_node, "power-supplies", i++);
                if (!np)
                        break;
 
-               if (np == epsy->of_node) {
+               if (np == epsy->dev.of_node) {
                        dev_dbg(&psy->dev, "%s: Found supply : %s\n",
                                psy->desc->name, epsy->desc->name);
                        psy->supplied_from[i-1] = (char *)epsy->desc->name;
@@ -235,7 +235,7 @@ static int  __power_supply_find_supply_from_node(struct power_supply *epsy,
        struct device_node *np = data;
 
        /* returning non-zero breaks out of power_supply_for_each_psy loop */
-       if (epsy->of_node == np)
+       if (epsy->dev.of_node == np)
                return 1;
 
        return 0;
@@ -270,13 +270,13 @@ static int power_supply_check_supplies(struct power_supply *psy)
                return 0;
 
        /* No device node found, nothing to do */
-       if (!psy->of_node)
+       if (!psy->dev.of_node)
                return 0;
 
        do {
                int ret;
 
-               np = of_parse_phandle(psy->of_node, "power-supplies", cnt++);
+               np = of_parse_phandle(psy->dev.of_node, "power-supplies", cnt++);
                if (!np)
                        break;
 
@@ -593,8 +593,8 @@ int power_supply_get_battery_info(struct power_supply *psy,
        const __be32 *list;
        u32 min_max[2];
 
-       if (psy->of_node) {
-               battery_np = of_parse_phandle(psy->of_node, "monitored-battery", 0);
+       if (psy->dev.of_node) {
+               battery_np = of_parse_phandle(psy->dev.of_node, "monitored-battery", 0);
                if (!battery_np)
                        return -ENODEV;
 
@@ -1531,9 +1531,8 @@ __power_supply_register(struct device *parent,
        if (cfg) {
                dev->groups = cfg->attr_grp;
                psy->drv_data = cfg->drv_data;
-               psy->of_node =
+               dev->of_node =
                        cfg->fwnode ? to_of_node(cfg->fwnode) : cfg->of_node;
-               dev->of_node = psy->of_node;
                psy->supplied_to = cfg->supplied_to;
                psy->num_supplicants = cfg->num_supplicants;
        }
index 92da3deba342ae5185d55a2a680c9d8b3193cbaa..888824592953d3891dfc723dc8db6e75f9a50505 100644 (file)
@@ -315,7 +315,6 @@ struct power_supply {
 
        char **supplied_from;
        size_t num_supplies;
-       struct device_node *of_node;
 
        /* Driver private data */
        void *drv_data;