diff mbox series

[v1,1/1] hwmon: (pmbus) Add regulator supply into macro

Message ID d3563864d03a3d3450cf00b3be05465dc506e161.1645092563.git.sylv@sylv.io (mailing list archive)
State Superseded
Headers show
Series Add supply into PWBUS_REGULATOR macro | expand

Commit Message

Marcello Sylvester Bauer Feb. 17, 2022, 10:23 a.m. UTC
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 <sylv@sylv.io>
---
 drivers/hwmon/pmbus/pmbus.h | 1 +
 1 file changed, 1 insertion(+)

Comments

Guenter Roeck Feb. 17, 2022, 5:36 p.m. UTC | #1
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 <sylv@sylv.io>
> ---
>   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
Marcello Sylvester Bauer Feb. 17, 2022, 5:40 p.m. UTC | #2
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 <sylv@sylv.io>
> > ---
> >   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
Marcello Sylvester Bauer Feb. 21, 2022, 10:59 a.m. UTC | #3
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 <sylv@sylv.io>
> > > ---
> > >   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
diff mbox series

Patch

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"),	\