On Fri, Jan 19, 2024 at 3:07 PM Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> wrote: > [snip] > > > > > > > Alright, so let's imagine we do model the PMU on the device tree. It would > > look something like this: > > > > qca6390_pmu: pmic@0 { > > compatible = "qcom,qca6390-pmu"; > > > > bt-gpios = <...>; > > wlan-gpios = <...>; > > > > vdd-supply = <&vreg...>; > > ... > > > > regulators-0 { > > vreg_x: foo { > > ... > > }; > > > > ... > > }; > > }; > > > > Then the WLAN and BT consume the regulators from &qca6390_pmu. Obviously we > > cannot go: > > > > wlan { > > pwrseq = &qca6390_pmu; > > }; > > > > But it's enough to: > > > > wlan { > > vdd-supply = <&vreg_x>; > > }; > > I'm not sure this will fly. This means expecting that regulator > framework is reentrant, which I think is not the case. > Oh maybe I didn't make myself clear. That's the DT representation of HW. With pwrseq, the BT or ATH11K drivers wouldn't use the regulator framework. They would use the pwrseq framework and it could use the phandle of the regulator to get into the correct pwrseq device without making Rob and Krzysztof angry. Bart [snip]