On 13.03.2023 09:49, Johan Hovold wrote: > Any power domain would already have been attached by the platform bus > code so drop the bogus power domain attach which always succeeds from > probe. > > This effectively reverts commit 7de109c0abe9 ("interconnect: icc-rpm: > Add support for bus power domain"). > > Fixes: 7de109c0abe9 ("interconnect: icc-rpm: Add support for bus power domain") > Cc: Yassine Oudjana <y.oudjana@xxxxxxxxxxxxxx> > Signed-off-by: Johan Hovold <johan+linaro@xxxxxxxxxx> > --- Running Friday's -next (so, without your cleanups): cat /sys/kernel/debug/pm_genpd/aggre0_noc/current_state > on Removing the pd attach: cat /sys/kernel/debug/pm_genpd/aggre0_noc/current_state > on Also removing the other consumer of this genpd, the simple-pm-bus hosting PCIe: cat /sys/kernel/debug/pm_genpd/aggre0_noc/current_state > on So it looks like that's the case! Tested-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> # MSM8996 Sony Kagura Reviewed-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> Konrad > drivers/interconnect/qcom/icc-rpm.c | 6 ------ > drivers/interconnect/qcom/icc-rpm.h | 1 - > drivers/interconnect/qcom/msm8996.c | 1 - > 3 files changed, 8 deletions(-) > > diff --git a/drivers/interconnect/qcom/icc-rpm.c b/drivers/interconnect/qcom/icc-rpm.c > index 3b055cd893ea..c303ce22a7cd 100644 > --- a/drivers/interconnect/qcom/icc-rpm.c > +++ b/drivers/interconnect/qcom/icc-rpm.c > @@ -496,12 +496,6 @@ int qnoc_probe(struct platform_device *pdev) > if (ret) > return ret; > > - if (desc->has_bus_pd) { > - ret = dev_pm_domain_attach(dev, true); > - if (ret) > - goto err_disable_clks; > - } > - > provider = &qp->provider; > provider->dev = dev; > provider->set = qcom_icc_set; > diff --git a/drivers/interconnect/qcom/icc-rpm.h b/drivers/interconnect/qcom/icc-rpm.h > index a49af844ab13..02257b0d3d5c 100644 > --- a/drivers/interconnect/qcom/icc-rpm.h > +++ b/drivers/interconnect/qcom/icc-rpm.h > @@ -91,7 +91,6 @@ struct qcom_icc_desc { > size_t num_nodes; > const char * const *clocks; > size_t num_clocks; > - bool has_bus_pd; > enum qcom_icc_type type; > const struct regmap_config *regmap_cfg; > unsigned int qos_offset; > diff --git a/drivers/interconnect/qcom/msm8996.c b/drivers/interconnect/qcom/msm8996.c > index 25a1a32bc611..14efd2761b7a 100644 > --- a/drivers/interconnect/qcom/msm8996.c > +++ b/drivers/interconnect/qcom/msm8996.c > @@ -1823,7 +1823,6 @@ static const struct qcom_icc_desc msm8996_a0noc = { > .num_nodes = ARRAY_SIZE(a0noc_nodes), > .clocks = bus_a0noc_clocks, > .num_clocks = ARRAY_SIZE(bus_a0noc_clocks), > - .has_bus_pd = true, > .regmap_cfg = &msm8996_a0noc_regmap_config > }; >