diff options
| author | Marek Vasut <[email protected]> | 2022-04-13 00:42:49 +0200 |
|---|---|---|
| committer | Stefano Babic <[email protected]> | 2022-04-21 12:44:23 +0200 |
| commit | 8741d9275626dc2fdea725b6c5bdcd824c03a526 (patch) | |
| tree | 45570ac454b04e1f579f1701804685dc4d66d675 | |
| parent | 20874a60722b2b282e29b0819198c1649eff65f2 (diff) | |
imx: power-domain: Descend into pgc subnode if present
In case the power domain node structure is gpc@303a0000/pgc/power-domain@N,
do not bind power domain driver to the 'pgc' node, but rather descend into
it and only bind power domain drivers to power-domain@N subnodes. This way
we do not waste one useless driver instance associated with 'pgc' node.
Tested-By: Tim Harvey <[email protected]> #imx8mp-venice-defconfig
Signed-off-by: Marek Vasut <[email protected]>
Cc: Fabio Estevam <[email protected]>
Cc: Peng Fan <[email protected]>
Cc: Stefano Babic <[email protected]>
| -rw-r--r-- | drivers/power/domain/imx8m-power-domain.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/power/domain/imx8m-power-domain.c b/drivers/power/domain/imx8m-power-domain.c index 6082ee6ff8c..ac7411f8327 100644 --- a/drivers/power/domain/imx8m-power-domain.c +++ b/drivers/power/domain/imx8m-power-domain.c @@ -73,6 +73,12 @@ static int imx8m_power_domain_bind(struct udevice *dev) /* Bind the subnode to this driver */ name = fdt_get_name(gd->fdt_blob, offset, NULL); + /* Descend into 'pgc' subnode */ + if (!strstr(name, "power-domain")) { + offset = fdt_first_subnode(gd->fdt_blob, offset); + name = fdt_get_name(gd->fdt_blob, offset, NULL); + } + ret = device_bind_with_driver_data(dev, dev->driver, name, dev->driver_data, offset_to_ofnode(offset), |
