2022-02-17 12:06:37

by Marcello Sylvester Bauer

[permalink] [raw]
Subject: [PATCH v1 1/1] hwmon: (pmbus) Add regulator supply into macro

Add optional regulator supply into PWBUS_REGULATOR macro. This makes it
possible to define a vin-supply in DT. Not defining a supply will only
cause the following debug output:

```
Looking up vin-supply property in node [...] failed
```

Signed-off-by: Marcello Sylvester Bauer <[email protected]>
---
drivers/hwmon/pmbus/pmbus.h | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/hwmon/pmbus/pmbus.h b/drivers/hwmon/pmbus/pmbus.h
index e0aa8aa46d8c..38f049d68d32 100644
--- a/drivers/hwmon/pmbus/pmbus.h
+++ b/drivers/hwmon/pmbus/pmbus.h
@@ -464,6 +464,7 @@ extern const struct regulator_ops pmbus_regulator_ops;
#define PMBUS_REGULATOR(_name, _id) \
[_id] = { \
.name = (_name # _id), \
+ .supply_name = "vin", \
.id = (_id), \
.of_match = of_match_ptr(_name # _id), \
.regulators_node = of_match_ptr("regulators"), \
--
2.34.1


2022-02-17 19:51:51

by Marcello Sylvester Bauer

[permalink] [raw]
Subject: Re: [PATCH v1 1/1] hwmon: (pmbus) Add regulator supply into macro

On Thu, 2022-02-17 at 09:36 -0800, Guenter Roeck wrote:
> On 2/17/22 02:23, Marcello Sylvester Bauer wrote:
> > Add optional regulator supply into PWBUS_REGULATOR macro. This
> > makes it
>
> The code doesn't look optional to me. What exactly is optional ?

I mean, it is optional to add a supply. It should not cause errors if
you don't. I should probably reword this, too.

>
> > possible to define a vin-supply in DT. Not defining a supply will
> > only
> > cause the following debug output:
> >
> > ```
> > Looking up vin-supply property in node [...] failed
> > ```
> >
> > Signed-off-by: Marcello Sylvester Bauer <[email protected]>
> > ---
> >   drivers/hwmon/pmbus/pmbus.h | 1 +
> >   1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/hwmon/pmbus/pmbus.h
> > b/drivers/hwmon/pmbus/pmbus.h
> > index e0aa8aa46d8c..38f049d68d32 100644
> > --- a/drivers/hwmon/pmbus/pmbus.h
> > +++ b/drivers/hwmon/pmbus/pmbus.h
> > @@ -464,6 +464,7 @@ extern const struct regulator_ops
> > pmbus_regulator_ops;
> >   #define PMBUS_REGULATOR(_name, _id)                           \
> >         [_id] = {                                               \
> >                 .name = (_name # _id),                          \
> > +               .supply_name = "vin",                           \
> >                 .id = (_id),                                    \
> >                 .of_match = of_match_ptr(_name # _id),          \
> >                 .regulators_node = of_match_ptr("regulators"),  \
>
> That seems to be quite far reaching. How does this affect / change
> behavior
> of existing systems which so far did not expect supply_name to be set
> ?
>
> Guenter

2022-02-18 00:16:19

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH v1 1/1] hwmon: (pmbus) Add regulator supply into macro

On 2/17/22 02:23, Marcello Sylvester Bauer wrote:
> Add optional regulator supply into PWBUS_REGULATOR macro. This makes it

The code doesn't look optional to me. What exactly is optional ?

> possible to define a vin-supply in DT. Not defining a supply will only
> cause the following debug output:
>
> ```
> Looking up vin-supply property in node [...] failed
> ```
>
> Signed-off-by: Marcello Sylvester Bauer <[email protected]>
> ---
> drivers/hwmon/pmbus/pmbus.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/hwmon/pmbus/pmbus.h b/drivers/hwmon/pmbus/pmbus.h
> index e0aa8aa46d8c..38f049d68d32 100644
> --- a/drivers/hwmon/pmbus/pmbus.h
> +++ b/drivers/hwmon/pmbus/pmbus.h
> @@ -464,6 +464,7 @@ extern const struct regulator_ops pmbus_regulator_ops;
> #define PMBUS_REGULATOR(_name, _id) \
> [_id] = { \
> .name = (_name # _id), \
> + .supply_name = "vin", \
> .id = (_id), \
> .of_match = of_match_ptr(_name # _id), \
> .regulators_node = of_match_ptr("regulators"), \

That seems to be quite far reaching. How does this affect / change behavior
of existing systems which so far did not expect supply_name to be set ?

Guenter

2022-02-21 16:23:42

by Marcello Sylvester Bauer

[permalink] [raw]
Subject: Re: [PATCH v1 1/1] hwmon: (pmbus) Add regulator supply into macro

On Thu, 2022-02-17 at 18:40 +0100, sylv wrote:
> On Thu, 2022-02-17 at 09:36 -0800, Guenter Roeck wrote:
> > On 2/17/22 02:23, Marcello Sylvester Bauer wrote:
> > > Add optional regulator supply into PWBUS_REGULATOR macro. This
> > > makes it
> >
> > The code doesn't look optional to me. What exactly is optional ?
>
> I mean, it is optional to add a supply. It should not cause errors if
> you don't. I should probably reword this, too.
>
> >
> > > possible to define a vin-supply in DT. Not defining a supply will
> > > only
> > > cause the following debug output:
> > >
> > > ```
> > > Looking up vin-supply property in node [...] failed
> > > ```
> > >
> > > Signed-off-by: Marcello Sylvester Bauer <[email protected]>
> > > ---
> > >   drivers/hwmon/pmbus/pmbus.h | 1 +
> > >   1 file changed, 1 insertion(+)
> > >
> > > diff --git a/drivers/hwmon/pmbus/pmbus.h
> > > b/drivers/hwmon/pmbus/pmbus.h
> > > index e0aa8aa46d8c..38f049d68d32 100644
> > > --- a/drivers/hwmon/pmbus/pmbus.h
> > > +++ b/drivers/hwmon/pmbus/pmbus.h
> > > @@ -464,6 +464,7 @@ extern const struct regulator_ops
> > > pmbus_regulator_ops;
> > >   #define PMBUS_REGULATOR(_name, _id)                           \
> > >         [_id] = {                                               \
> > >                 .name = (_name # _id),                          \
> > > +               .supply_name = "vin",                           \
> > >                 .id = (_id),                                    \
> > >                 .of_match = of_match_ptr(_name # _id),          \
> > >                 .regulators_node = of_match_ptr("regulators"),  \
> >
> > That seems to be quite far reaching. How does this affect / change
> > behavior
> > of existing systems which so far did not expect supply_name to be
> > set
> > ?
> >
> > Guenter
>


My goal is to make it optional to define a supply regulator so that it
is possible to regulate the incoming voltage regulator.
IIUIC, it is required to set a supply_name to tell the regulator core
which supply it should look up from DT. (see: of_get_regulator
drivers/regulator/core.c:402)
This should not cause a change of behavior even if no supply is
defined. It would register a dummy regulator as supply instead.

Am I right, or did I misunderstanding something?

Thanks,
Marcello