Re: [PATCH net-next v1 2/2] net: dsa: realtek: rtl83xx: add support for enabling supplies
From: Andrew Lunn
Date: Thu Aug 06 2026 - 11:36:34 EST
On Thu, Aug 06, 2026 at 05:10:23PM +0200, Oleksij Rempel wrote:
> On Thu, Aug 06, 2026 at 04:12:44PM +0200, Andrew Lunn wrote:
> > > +static const char *const rtl8365mb_supplies[] = {
> > > + "avddh", "avddl", "dvddio", "dvddio1", "dvddl", "pllvddl", NULL,
> > > +};
> > > +
> >
> > > +static int rtl83xx_enable_supplies(struct device *dev,
> > > + const char *const *supplies)
> > > +{
> > > + int i, ret, count = 0;
> > > +
> > > + for (i = 0; supplies && supplies[i]; i++) {
> > > + ret = devm_regulator_get_enable_optional(dev, supplies[i]);
> > > + if (ret == -ENODEV)
> > > + continue;
> > > + if (ret)
> > > + return dev_err_probe(dev, ret, "failed to enable %s supply\n",
> > > + supplies[i]);
> > > + count++;
> > > + }
> > > +
> >
> > I've never used it, i've no idea if it is applicable, but there does
> > appear to be _bulk_ calls in the regulator API, maybe which is similar
> > to the clk _bulk_ API?
>
> Ack, in the first iteration of this patch we was using
> devm_regulator_bulk_get_enable(). But it would print warnings on
> existing boards without regulators in devicetree. Currently there are no
> bulk helpers with _optional regulators, so I reworked it to hand made
> optional bulk support.
static inline int __must_check clk_bulk_get_optional(struct device *dev,
static inline int __must_check devm_clk_bulk_get_optional(struct device *dev,
static inline int __must_check devm_clk_bulk_get_optional_enable(struct device *dev,
If clk has them, maybe regulators should as well?
Andrew