summaryrefslogtreecommitdiff
path: root/drivers/w1
diff options
context:
space:
mode:
authorKryštof Černý <cleverline1mc@gmail.com>2024-11-29 14:25:55 +0100
committerKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>2024-12-03 15:53:29 +0100
commit6e0bb206c6af6c8775b447b2fae9209f02f13143 (patch)
treee6237989ebada4d735746477ecf2f99e83ed2b8d /drivers/w1
parent19c6d8bd88652936c43f5c53550d74563829a15e (diff)
w1: ds2482: Add regulator support
Adds a support for attaching a supply regulator. Signed-off-by: Kryštof Černý <cleverline1mc@gmail.com> Link: https://lore.kernel.org/r/20241129-ds2482-add-reg-v6-3-bd95ad171e19@gmail.com Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Diffstat (limited to 'drivers/w1')
-rw-r--r--drivers/w1/masters/ds2482.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/w1/masters/ds2482.c b/drivers/w1/masters/ds2482.c
index ea09d2ee21cc..f8095264d82f 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 |
@@ -455,6 +457,10 @@ static int ds2482_probe(struct i2c_client *client)
if (!data)
return -ENOMEM;
+ ret = devm_regulator_get_enable(&client->dev, "vcc");
+ if (ret)
+ return dev_err_probe(&client->dev, ret, "Failed to enable regulator\n");
+
data->client = client;
i2c_set_clientdata(client, data);