Re: [PATCH] hwmon: (ina2xx) make regulator 'vs' support optional

From: Ciprian Marian Costea
Date: Thu Apr 03 2025 - 10:34:33 EST


On 4/3/2025 3:15 PM, Guenter Roeck wrote:
On 4/3/25 03:15, Ciprian Costea wrote:
From: Ciprian Marian Costea <ciprianmarian.costea@xxxxxxxxxxx>

S32G2/S32G3 based boards which integrate the ina231 sensor do not have a
dedicated voltage regulator.

Co-developed-by: Florin Buica <florin.buica@xxxxxxx>
Signed-off-by: Florin Buica <florin.buica@xxxxxxx>
Signed-off-by: Ciprian Marian Costea <ciprianmarian.costea@xxxxxxxxxxx>
---
  drivers/hwmon/ina2xx.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/hwmon/ina2xx.c b/drivers/hwmon/ina2xx.c
index 345fe7db9de9..ab4972f94a8c 100644
--- a/drivers/hwmon/ina2xx.c
+++ b/drivers/hwmon/ina2xx.c
@@ -959,8 +959,8 @@ static int ina2xx_probe(struct i2c_client *client)
          return PTR_ERR(data->regmap);
      }
-    ret = (dev, "vs");
-    if (ret)
+    ret = devm_regulator_get_enable_optional(dev, "vs");

devm_regulator_get_enable() should provide a dummy regulator if there is
no explicit regulator. Why does this not work ?

+    if (ret < 0 && ret != -ENODEV)

Why this added check ?

I know it used to be necessary if regulator support is disabled,
but that is no longer the case.

Guenter


Hello Guenter,

I've just tested and devm_regulator_get_enable() does work as you've described, providing a dummy regulator.

But, according to the 'ti,ina2xx' binding [1] I see that the `vs-supply` property is not required. Hence wouldn't it be correct for `vs-supply` to be optional ? Using 'devm_regulator_get_enable_optional()'


[1] https://elixir.bootlin.com/linux/v6.13.7/source/Documentation/devicetree/bindings/hwmon/ti,ina2xx.yaml#L78-L80

Regards,
Ciprian

          return dev_err_probe(dev, ret, "failed to enable vs regulator\n");
      ret = ina2xx_init(dev, data);