Aw: Re: Re: Driver load order

Frank Wunderlich frank-w at
Sat May 21 03:31:54 PDT 2022


current state is that pmu/ldo regulators work, but not the SWITCH ones.

these are read by linux using the supply of the regulator itself

	} else if (rdev->supply) {
		ret = regulator_get_voltage_rdev(rdev->supply->rdev);

tried to port this to barebox, but regulator-struct there does not have the supply member

	} else if (rdev->supply) {
		ret = regulator_get_voltage(rdev->supply);

so i added it here:

+++ b/include/regulator.h
@@ -86,6 +86,7 @@ struct regulator_dev {
        struct regmap *regmap;
        bool boot_on;
        bool always_on;
+       struct regulator *supply;
        /* the device this regulator device belongs to */
        struct device_d *dev;

but now this needs to be set somwhere...linux set this in

set_supply(struct regulator_dev *rdev,
		      struct regulator_dev *supply_rdev)
which is called in regulator_resolve_supply (called by _regulator_get).

regards Frank

> Gesendet: Donnerstag, 19. Mai 2022 um 15:10 Uhr
> Von: "Sascha Hauer" <sha at>
> I gave it a test with your rk808 driver. It just works \o/
> regulator_get() triggers probing of the rk808 regulator driver and
> returns a valid regulator.
> Sascha

More information about the barebox mailing list