Message ID | 20250304154929.1785200-4-alexander.stein@ew.tq-group.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | TQMa93xx on MBa93xxLA/CA LVDS support | expand |
On Tue, Mar 04, 2025 at 04:49:22PM +0100, Alexander Stein wrote: > This particular block can have DT subnodes describing the LVDS LDB > bridge. Instead of misusing simple-bus to scan for those nodes, do > the scan within the driver. > > Reviewed-by: Peng Fan <peng.fan@nxp.com> > Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com> Reviewed-by: Frank Li <Frank.Li@nxp.com> > --- > drivers/pmdomain/imx/imx93-blk-ctrl.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/drivers/pmdomain/imx/imx93-blk-ctrl.c b/drivers/pmdomain/imx/imx93-blk-ctrl.c > index 0e2ba8ec55d75..fe2ff7a457502 100644 > --- a/drivers/pmdomain/imx/imx93-blk-ctrl.c > +++ b/drivers/pmdomain/imx/imx93-blk-ctrl.c > @@ -7,6 +7,7 @@ > #include <linux/device.h> > #include <linux/module.h> > #include <linux/of.h> > +#include <linux/of_platform.h> > #include <linux/platform_device.h> > #include <linux/pm_domain.h> > #include <linux/pm_runtime.h> > @@ -297,8 +298,14 @@ static int imx93_blk_ctrl_probe(struct platform_device *pdev) > > dev_set_drvdata(dev, bc); > > + ret = devm_of_platform_populate(dev); > + if (ret) > + goto cleanup_provider; > + > return 0; > > +cleanup_provider: > + of_genpd_del_provider(dev->of_node); > cleanup_pds: > for (i--; i >= 0; i--) > pm_genpd_remove(&bc->domains[i].genpd); > -- > 2.43.0 >
diff --git a/drivers/pmdomain/imx/imx93-blk-ctrl.c b/drivers/pmdomain/imx/imx93-blk-ctrl.c index 0e2ba8ec55d75..fe2ff7a457502 100644 --- a/drivers/pmdomain/imx/imx93-blk-ctrl.c +++ b/drivers/pmdomain/imx/imx93-blk-ctrl.c @@ -7,6 +7,7 @@ #include <linux/device.h> #include <linux/module.h> #include <linux/of.h> +#include <linux/of_platform.h> #include <linux/platform_device.h> #include <linux/pm_domain.h> #include <linux/pm_runtime.h> @@ -297,8 +298,14 @@ static int imx93_blk_ctrl_probe(struct platform_device *pdev) dev_set_drvdata(dev, bc); + ret = devm_of_platform_populate(dev); + if (ret) + goto cleanup_provider; + return 0; +cleanup_provider: + of_genpd_del_provider(dev->of_node); cleanup_pds: for (i--; i >= 0; i--) pm_genpd_remove(&bc->domains[i].genpd);