[PATCH v3 1/3] w1: ds2482: Add regulator support

Kryštof Černý via B4 Relay posted 3 patches 1 year, 2 months ago
There is a newer version of this series
[PATCH v3 1/3] w1: ds2482: Add regulator support
Posted by Kryštof Černý via B4 Relay 1 year, 2 months ago
From: Kryštof Černý <cleverline1mc@gmail.com>

Adds a support for attaching a supply regulator.

Signed-off-by: Kryštof Černý <cleverline1mc@gmail.com>
---
 drivers/w1/masters/ds2482.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/w1/masters/ds2482.c b/drivers/w1/masters/ds2482.c
index a2ecbb863c57f38bffc8e3cd463db1940e603179..4cb05d00cb6743abc5699583f591ef9b5339b44e 100644
--- a/drivers/w1/masters/ds2482.c
+++ b/drivers/w1/masters/ds2482.c
@@ -15,6 +15,7 @@
 #include <linux/slab.h>
 #include <linux/i2c.h>
 #include <linux/delay.h>
+#include <linux/regulator/consumer.h>
 
 #include <linux/w1.h>
 
@@ -445,6 +446,7 @@ static int ds2482_probe(struct i2c_client *client)
 	int err = -ENODEV;
 	int temp1;
 	int idx;
+	int ret;
 
 	if (!i2c_check_functionality(client->adapter,
 				     I2C_FUNC_SMBUS_WRITE_BYTE_DATA |
@@ -457,6 +459,12 @@ static int ds2482_probe(struct i2c_client *client)
 		goto exit;
 	}
 
+	ret = devm_regulator_get_enable(&client->dev, "vcc");
+	if (ret) {
+		dev_err(&client->dev, "Fail to enable regulator\n");
+		return ret;
+	}
+
 	data->client = client;
 	i2c_set_clientdata(client, data);
 

-- 
2.39.5


Re: [PATCH v3 1/3] w1: ds2482: Add regulator support
Posted by Stefan Wahren 1 year, 2 months ago
Hi Kryštof,

> +	ret = devm_regulator_get_enable(&client->dev, "vcc");
> +	if (ret) {
> +		dev_err(&client->dev, "Fail to enable regulator\n");
> +		return ret;
> +	}


I'm fine with using devm_regulator_get_enable() because it doesn't break
existing DTS like imx6ull-tarragon-master, which doesn't have vcc defined.
But please use dev_err_probe() here instead and s/Fail/Failed/ in the
error message.

Best regards