Re: [PATCH] hwmon: (tmp108) Add basic regulator support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/4/24 00:57, Stanislav Jakubek wrote:
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.


Ah yes, you are correct. I misinterpreted the code. I'll apply the patch.

Thanks,
Guenter

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






[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux