On Sat, Nov 30, 2024 at 09:58:17AM -0800, Guenter Roeck wrote: > On 11/26/24 00:40, Stanislav Jakubek wrote: > > TMP108/P3T1085 are powered by the V+/VCC regulator, add support for it. > > > > Signed-off-by: Stanislav Jakubek <stano.jakubek@xxxxxxxxx> > > --- > > drivers/hwmon/tmp108.c | 5 +++++ > > 1 file changed, 5 insertions(+) > > > > diff --git a/drivers/hwmon/tmp108.c b/drivers/hwmon/tmp108.c > > index 1f36af2cd2d9..85e4466259a3 100644 > > --- a/drivers/hwmon/tmp108.c > > +++ b/drivers/hwmon/tmp108.c > > @@ -17,6 +17,7 @@ > > #include <linux/init.h> > > #include <linux/jiffies.h> > > #include <linux/regmap.h> > > +#include <linux/regulator/consumer.h> > > #include <linux/slab.h> > > #define DRIVER_NAME "tmp108" > > @@ -331,6 +332,10 @@ static int tmp108_common_probe(struct device *dev, struct regmap *regmap, char * > > u32 config; > > int err; > > + err = devm_regulator_get_enable(dev, "vcc"); > > + if (err) > > + return dev_err_probe(dev, err, "Failed to enable regulator\n"); > > + > > Problem with this is that existing devicetree bindings do not provide > a reference to the regulator. Those would now fail to instantiate, > which would be unacceptable. I think you'll need something like Doesn't devm_regulator_get_enable fallback to a dummy regulator when a reference to the regulator isn't provided? lm90 does it this way too. Regards, Stanislav > > err = devm_regulator_get_enable_optional(dev, "vcc"); > if (err && err != -ENODEV) > return dev_err_probe(dev, err, "Failed to enable regulator\n"); > > Even though the regulator is now mandatory, existing devicetree bindings > don't know that. > > Guenter >