* [PATCH 00/11] iio: use devm_regulator_get_enable_read_voltage round 5
@ 2024-10-23 23:54 David Lechner
2024-10-23 23:54 ` [PATCH 01/11] iio: dac: ad5380: use devm_regulator_get_enable_read_voltage() David Lechner
` (11 more replies)
0 siblings, 12 replies; 13+ messages in thread
From: David Lechner @ 2024-10-23 23:54 UTC (permalink / raw)
To: Jonathan Cameron
Cc: Michael Hennerich, Liam Girdwood, Mark Brown, linux-iio,
linux-kernel, David Lechner
Here comes another round of reducing boilerplate code by simplifying
getting reference voltages and dropping more driver remove callbacks.
Signed-off-by: David Lechner <dlechner@baylibre.com>
---
David Lechner (11):
iio: dac: ad5380: use devm_regulator_get_enable_read_voltage()
iio: dac: ad5380: drop driver remove callbacks
iio: dac: ad5446: use devm_regulator_get_enable_read_voltage()
iio: dac: ad5446: drop driver remove callbacks
iio: dac: ad5504: use devm_regulator_get_enable_read_voltage()
iio: dac: ad5504: drop driver remove callback
iio: dac: ad5624r: use devm_regulator_get_enable_read_voltage()
iio: dac: ad5624r: drop driver remove callback
iio: dac: ad5761: use devm_regulator_get_enable_read_voltage()
iio: dac: ad5761: drop driver remove callback
iio: dac: ad5770r: use devm_regulator_get_enable_read_voltage()
drivers/iio/dac/ad5380.c | 85 +++++++-------------------------
drivers/iio/dac/ad5446.c | 77 +++++++----------------------
drivers/iio/dac/ad5504.c | 59 ++++++-----------------
drivers/iio/dac/ad5624r.h | 1 -
drivers/iio/dac/ad5624r_spi.c | 71 +++++----------------------
drivers/iio/dac/ad5761.c | 109 +++++++++---------------------------------
drivers/iio/dac/ad5770r.c | 41 ++--------------
7 files changed, 88 insertions(+), 355 deletions(-)
---
base-commit: 9090ececac9ff1e22fb7e042f3c886990a8fb090
change-id: 20240813-iio-regulator-refactor-round-5-3248993c93b0
Best regards,
--
David Lechner <dlechner@baylibre.com>
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 01/11] iio: dac: ad5380: use devm_regulator_get_enable_read_voltage()
2024-10-23 23:54 [PATCH 00/11] iio: use devm_regulator_get_enable_read_voltage round 5 David Lechner
@ 2024-10-23 23:54 ` David Lechner
2024-10-23 23:54 ` [PATCH 02/11] iio: dac: ad5380: drop driver remove callbacks David Lechner
` (10 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: David Lechner @ 2024-10-23 23:54 UTC (permalink / raw)
To: Jonathan Cameron
Cc: Michael Hennerich, Liam Girdwood, Mark Brown, linux-iio,
linux-kernel, David Lechner
Simplify the code by using devm_regulator_get_enable_read_voltage().
Signed-off-by: David Lechner <dlechner@baylibre.com>
---
drivers/iio/dac/ad5380.c | 36 ++++++++++--------------------------
1 file changed, 10 insertions(+), 26 deletions(-)
diff --git a/drivers/iio/dac/ad5380.c b/drivers/iio/dac/ad5380.c
index 2e3e33f92bc0..7d1d7053c29e 100644
--- a/drivers/iio/dac/ad5380.c
+++ b/drivers/iio/dac/ad5380.c
@@ -47,7 +47,6 @@ struct ad5380_chip_info {
* struct ad5380_state - driver instance specific data
* @regmap: regmap instance used by the device
* @chip_info: chip model specific constants, available modes etc
- * @vref_reg: vref supply regulator
* @vref: actual reference voltage used in uA
* @pwr_down: whether the chip is currently in power down mode
* @lock: lock to protect the data buffer during regmap ops
@@ -55,7 +54,6 @@ struct ad5380_chip_info {
struct ad5380_state {
struct regmap *regmap;
const struct ad5380_chip_info *chip_info;
- struct regulator *vref_reg;
int vref;
bool pwr_down;
struct mutex lock;
@@ -400,42 +398,32 @@ static int ad5380_probe(struct device *dev, struct regmap *regmap,
if (st->chip_info->int_vref == 2500)
ctrl |= AD5380_CTRL_INT_VREF_2V5;
- st->vref_reg = devm_regulator_get(dev, "vref");
- if (!IS_ERR(st->vref_reg)) {
- ret = regulator_enable(st->vref_reg);
- if (ret) {
- dev_err(dev, "Failed to enable vref regulators: %d\n",
- ret);
- goto error_free_reg;
- }
-
- ret = regulator_get_voltage(st->vref_reg);
- if (ret < 0)
- goto error_disable_reg;
-
- st->vref = ret / 1000;
- } else {
+ ret = devm_regulator_get_enable_read_voltage(dev, "vref");
+ if (ret < 0 && ret != -ENODEV) {
+ dev_err(dev, "Failed to get vref voltage: %d\n", ret);
+ goto error_free_reg;
+ }
+ if (ret == -ENODEV) {
st->vref = st->chip_info->int_vref;
ctrl |= AD5380_CTRL_INT_VREF_EN;
+ } else {
+ st->vref = ret / 1000;
}
ret = regmap_write(st->regmap, AD5380_REG_SF_CTRL, ctrl);
if (ret) {
dev_err(dev, "Failed to write to device: %d\n", ret);
- goto error_disable_reg;
+ goto error_free_reg;
}
ret = iio_device_register(indio_dev);
if (ret) {
dev_err(dev, "Failed to register iio device: %d\n", ret);
- goto error_disable_reg;
+ goto error_free_reg;
}
return 0;
-error_disable_reg:
- if (!IS_ERR(st->vref_reg))
- regulator_disable(st->vref_reg);
error_free_reg:
kfree(indio_dev->channels);
@@ -445,14 +433,10 @@ static int ad5380_probe(struct device *dev, struct regmap *regmap,
static void ad5380_remove(struct device *dev)
{
struct iio_dev *indio_dev = dev_get_drvdata(dev);
- struct ad5380_state *st = iio_priv(indio_dev);
iio_device_unregister(indio_dev);
kfree(indio_dev->channels);
-
- if (!IS_ERR(st->vref_reg))
- regulator_disable(st->vref_reg);
}
static bool ad5380_reg_false(struct device *dev, unsigned int reg)
--
2.43.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 02/11] iio: dac: ad5380: drop driver remove callbacks
2024-10-23 23:54 [PATCH 00/11] iio: use devm_regulator_get_enable_read_voltage round 5 David Lechner
2024-10-23 23:54 ` [PATCH 01/11] iio: dac: ad5380: use devm_regulator_get_enable_read_voltage() David Lechner
@ 2024-10-23 23:54 ` David Lechner
2024-10-23 23:54 ` [PATCH 03/11] iio: dac: ad5446: use devm_regulator_get_enable_read_voltage() David Lechner
` (9 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: David Lechner @ 2024-10-23 23:54 UTC (permalink / raw)
To: Jonathan Cameron
Cc: Michael Hennerich, Liam Girdwood, Mark Brown, linux-iio,
linux-kernel, David Lechner
Drop use of the driver remove callbacks in the ad5380 driver.
By making use of a few more devm_ helpers, we can avoid the need for
remove callbacks entirely.
Also make use of dev_err_probe() while at it.
Signed-off-by: David Lechner <dlechner@baylibre.com>
---
drivers/iio/dac/ad5380.c | 61 +++++++++++-------------------------------------
1 file changed, 13 insertions(+), 48 deletions(-)
diff --git a/drivers/iio/dac/ad5380.c b/drivers/iio/dac/ad5380.c
index 7d1d7053c29e..392a1c7aee03 100644
--- a/drivers/iio/dac/ad5380.c
+++ b/drivers/iio/dac/ad5380.c
@@ -339,14 +339,14 @@ static const struct ad5380_chip_info ad5380_chip_info_tbl[] = {
},
};
-static int ad5380_alloc_channels(struct iio_dev *indio_dev)
+static int ad5380_alloc_channels(struct device *dev, struct iio_dev *indio_dev)
{
struct ad5380_state *st = iio_priv(indio_dev);
struct iio_chan_spec *channels;
unsigned int i;
- channels = kcalloc(st->chip_info->num_channels,
- sizeof(struct iio_chan_spec), GFP_KERNEL);
+ channels = devm_kcalloc(dev, st->chip_info->num_channels,
+ sizeof(struct iio_chan_spec), GFP_KERNEL);
if (!channels)
return -ENOMEM;
@@ -377,7 +377,6 @@ static int ad5380_probe(struct device *dev, struct regmap *regmap,
}
st = iio_priv(indio_dev);
- dev_set_drvdata(dev, indio_dev);
st->chip_info = &ad5380_chip_info_tbl[type];
st->regmap = regmap;
@@ -389,20 +388,16 @@ static int ad5380_probe(struct device *dev, struct regmap *regmap,
mutex_init(&st->lock);
- ret = ad5380_alloc_channels(indio_dev);
- if (ret) {
- dev_err(dev, "Failed to allocate channel spec: %d\n", ret);
- return ret;
- }
+ ret = ad5380_alloc_channels(dev, indio_dev);
+ if (ret)
+ return dev_err_probe(dev, ret, "Failed to allocate channel spec\n");
if (st->chip_info->int_vref == 2500)
ctrl |= AD5380_CTRL_INT_VREF_2V5;
ret = devm_regulator_get_enable_read_voltage(dev, "vref");
- if (ret < 0 && ret != -ENODEV) {
- dev_err(dev, "Failed to get vref voltage: %d\n", ret);
- goto error_free_reg;
- }
+ if (ret < 0 && ret != -ENODEV)
+ return dev_err_probe(dev, ret, "Failed to get vref voltage\n");
if (ret == -ENODEV) {
st->vref = st->chip_info->int_vref;
ctrl |= AD5380_CTRL_INT_VREF_EN;
@@ -411,32 +406,14 @@ static int ad5380_probe(struct device *dev, struct regmap *regmap,
}
ret = regmap_write(st->regmap, AD5380_REG_SF_CTRL, ctrl);
- if (ret) {
- dev_err(dev, "Failed to write to device: %d\n", ret);
- goto error_free_reg;
- }
+ if (ret)
+ return dev_err_probe(dev, ret, "Failed to write to device\n");
- ret = iio_device_register(indio_dev);
- if (ret) {
- dev_err(dev, "Failed to register iio device: %d\n", ret);
- goto error_free_reg;
- }
+ ret = devm_iio_device_register(dev, indio_dev);
+ if (ret)
+ return dev_err_probe(dev, ret, "Failed to register iio device\n");
return 0;
-
-error_free_reg:
- kfree(indio_dev->channels);
-
- return ret;
-}
-
-static void ad5380_remove(struct device *dev)
-{
- struct iio_dev *indio_dev = dev_get_drvdata(dev);
-
- iio_device_unregister(indio_dev);
-
- kfree(indio_dev->channels);
}
static bool ad5380_reg_false(struct device *dev, unsigned int reg)
@@ -470,11 +447,6 @@ static int ad5380_spi_probe(struct spi_device *spi)
return ad5380_probe(&spi->dev, regmap, id->driver_data, id->name);
}
-static void ad5380_spi_remove(struct spi_device *spi)
-{
- ad5380_remove(&spi->dev);
-}
-
static const struct spi_device_id ad5380_spi_ids[] = {
{ "ad5380-3", ID_AD5380_3 },
{ "ad5380-5", ID_AD5380_5 },
@@ -501,7 +473,6 @@ static struct spi_driver ad5380_spi_driver = {
.name = "ad5380",
},
.probe = ad5380_spi_probe,
- .remove = ad5380_spi_remove,
.id_table = ad5380_spi_ids,
};
@@ -543,11 +514,6 @@ static int ad5380_i2c_probe(struct i2c_client *i2c)
return ad5380_probe(&i2c->dev, regmap, id->driver_data, id->name);
}
-static void ad5380_i2c_remove(struct i2c_client *i2c)
-{
- ad5380_remove(&i2c->dev);
-}
-
static const struct i2c_device_id ad5380_i2c_ids[] = {
{ "ad5380-3", ID_AD5380_3 },
{ "ad5380-5", ID_AD5380_5 },
@@ -574,7 +540,6 @@ static struct i2c_driver ad5380_i2c_driver = {
.name = "ad5380",
},
.probe = ad5380_i2c_probe,
- .remove = ad5380_i2c_remove,
.id_table = ad5380_i2c_ids,
};
--
2.43.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 03/11] iio: dac: ad5446: use devm_regulator_get_enable_read_voltage()
2024-10-23 23:54 [PATCH 00/11] iio: use devm_regulator_get_enable_read_voltage round 5 David Lechner
2024-10-23 23:54 ` [PATCH 01/11] iio: dac: ad5380: use devm_regulator_get_enable_read_voltage() David Lechner
2024-10-23 23:54 ` [PATCH 02/11] iio: dac: ad5380: drop driver remove callbacks David Lechner
@ 2024-10-23 23:54 ` David Lechner
2024-10-23 23:54 ` [PATCH 04/11] iio: dac: ad5446: drop driver remove callbacks David Lechner
` (8 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: David Lechner @ 2024-10-23 23:54 UTC (permalink / raw)
To: Jonathan Cameron
Cc: Michael Hennerich, Liam Girdwood, Mark Brown, linux-iio,
linux-kernel, David Lechner
Simplify the code by using devm_regulator_get_enable_read_voltage().
Also simplify == NULL check while we are touching that line.
Signed-off-by: David Lechner <dlechner@baylibre.com>
---
drivers/iio/dac/ad5446.c | 57 ++++++++++++++----------------------------------
1 file changed, 16 insertions(+), 41 deletions(-)
diff --git a/drivers/iio/dac/ad5446.c b/drivers/iio/dac/ad5446.c
index 708629efc157..574de97c1c08 100644
--- a/drivers/iio/dac/ad5446.c
+++ b/drivers/iio/dac/ad5446.c
@@ -32,7 +32,6 @@
* struct ad5446_state - driver instance specific data
* @dev: this device
* @chip_info: chip model specific constants, available modes etc
- * @reg: supply regulator
* @vref_mv: actual reference voltage used
* @cached_val: store/retrieve values during power down
* @pwr_down_mode: power down mode (1k, 100k or tristate)
@@ -43,7 +42,6 @@
struct ad5446_state {
struct device *dev;
const struct ad5446_chip_info *chip_info;
- struct regulator *reg;
unsigned short vref_mv;
unsigned cached_val;
unsigned pwr_down_mode;
@@ -226,32 +224,16 @@ static int ad5446_probe(struct device *dev, const char *name,
{
struct ad5446_state *st;
struct iio_dev *indio_dev;
- struct regulator *reg;
- int ret, voltage_uv = 0;
-
- reg = devm_regulator_get(dev, "vcc");
- if (!IS_ERR(reg)) {
- ret = regulator_enable(reg);
- if (ret)
- return ret;
-
- ret = regulator_get_voltage(reg);
- if (ret < 0)
- goto error_disable_reg;
-
- voltage_uv = ret;
- }
+ int ret;
indio_dev = devm_iio_device_alloc(dev, sizeof(*st));
- if (indio_dev == NULL) {
- ret = -ENOMEM;
- goto error_disable_reg;
- }
+ if (!indio_dev)
+ return -ENOMEM;
+
st = iio_priv(indio_dev);
st->chip_info = chip_info;
dev_set_drvdata(dev, indio_dev);
- st->reg = reg;
st->dev = dev;
indio_dev->name = name;
@@ -264,33 +246,26 @@ static int ad5446_probe(struct device *dev, const char *name,
st->pwr_down_mode = MODE_PWRDWN_1k;
- if (st->chip_info->int_vref_mv)
- st->vref_mv = st->chip_info->int_vref_mv;
- else if (voltage_uv)
- st->vref_mv = voltage_uv / 1000;
- else
- dev_warn(dev, "reference voltage unspecified\n");
-
- ret = iio_device_register(indio_dev);
- if (ret)
- goto error_disable_reg;
-
- return 0;
+ ret = devm_regulator_get_enable_read_voltage(dev, "vcc");
+ if (ret < 0 && ret != -ENODEV)
+ return ret;
+ if (ret == -ENODEV) {
+ if (chip_info->int_vref_mv)
+ st->vref_mv = chip_info->int_vref_mv;
+ else
+ dev_warn(dev, "reference voltage unspecified\n");
+ } else {
+ st->vref_mv = ret / 1000;
+ }
-error_disable_reg:
- if (!IS_ERR(reg))
- regulator_disable(reg);
- return ret;
+ return iio_device_register(indio_dev);
}
static void ad5446_remove(struct device *dev)
{
struct iio_dev *indio_dev = dev_get_drvdata(dev);
- struct ad5446_state *st = iio_priv(indio_dev);
iio_device_unregister(indio_dev);
- if (!IS_ERR(st->reg))
- regulator_disable(st->reg);
}
#if IS_ENABLED(CONFIG_SPI_MASTER)
--
2.43.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 04/11] iio: dac: ad5446: drop driver remove callbacks
2024-10-23 23:54 [PATCH 00/11] iio: use devm_regulator_get_enable_read_voltage round 5 David Lechner
` (2 preceding siblings ...)
2024-10-23 23:54 ` [PATCH 03/11] iio: dac: ad5446: use devm_regulator_get_enable_read_voltage() David Lechner
@ 2024-10-23 23:54 ` David Lechner
2024-10-23 23:54 ` [PATCH 05/11] iio: dac: ad5504: use devm_regulator_get_enable_read_voltage() David Lechner
` (7 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: David Lechner @ 2024-10-23 23:54 UTC (permalink / raw)
To: Jonathan Cameron
Cc: Michael Hennerich, Liam Girdwood, Mark Brown, linux-iio,
linux-kernel, David Lechner
Drop use of the driver remove callbacks in the ad5446 driver.
By making use of a a devm_ helper, we can avoid the need for the remove
callbacks entirely.
Signed-off-by: David Lechner <dlechner@baylibre.com>
---
drivers/iio/dac/ad5446.c | 22 +---------------------
1 file changed, 1 insertion(+), 21 deletions(-)
diff --git a/drivers/iio/dac/ad5446.c b/drivers/iio/dac/ad5446.c
index 574de97c1c08..6ad99f97eed5 100644
--- a/drivers/iio/dac/ad5446.c
+++ b/drivers/iio/dac/ad5446.c
@@ -233,7 +233,6 @@ static int ad5446_probe(struct device *dev, const char *name,
st = iio_priv(indio_dev);
st->chip_info = chip_info;
- dev_set_drvdata(dev, indio_dev);
st->dev = dev;
indio_dev->name = name;
@@ -258,14 +257,7 @@ static int ad5446_probe(struct device *dev, const char *name,
st->vref_mv = ret / 1000;
}
- return iio_device_register(indio_dev);
-}
-
-static void ad5446_remove(struct device *dev)
-{
- struct iio_dev *indio_dev = dev_get_drvdata(dev);
-
- iio_device_unregister(indio_dev);
+ return devm_iio_device_register(dev, indio_dev);
}
#if IS_ENABLED(CONFIG_SPI_MASTER)
@@ -466,18 +458,12 @@ static int ad5446_spi_probe(struct spi_device *spi)
&ad5446_spi_chip_info[id->driver_data]);
}
-static void ad5446_spi_remove(struct spi_device *spi)
-{
- ad5446_remove(&spi->dev);
-}
-
static struct spi_driver ad5446_spi_driver = {
.driver = {
.name = "ad5446",
.of_match_table = ad5446_of_ids,
},
.probe = ad5446_spi_probe,
- .remove = ad5446_spi_remove,
.id_table = ad5446_spi_ids,
};
@@ -550,11 +536,6 @@ static int ad5446_i2c_probe(struct i2c_client *i2c)
&ad5446_i2c_chip_info[id->driver_data]);
}
-static void ad5446_i2c_remove(struct i2c_client *i2c)
-{
- ad5446_remove(&i2c->dev);
-}
-
static const struct i2c_device_id ad5446_i2c_ids[] = {
{"ad5301", ID_AD5602},
{"ad5311", ID_AD5612},
@@ -571,7 +552,6 @@ static struct i2c_driver ad5446_i2c_driver = {
.name = "ad5446",
},
.probe = ad5446_i2c_probe,
- .remove = ad5446_i2c_remove,
.id_table = ad5446_i2c_ids,
};
--
2.43.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 05/11] iio: dac: ad5504: use devm_regulator_get_enable_read_voltage()
2024-10-23 23:54 [PATCH 00/11] iio: use devm_regulator_get_enable_read_voltage round 5 David Lechner
` (3 preceding siblings ...)
2024-10-23 23:54 ` [PATCH 04/11] iio: dac: ad5446: drop driver remove callbacks David Lechner
@ 2024-10-23 23:54 ` David Lechner
2024-10-23 23:54 ` [PATCH 06/11] iio: dac: ad5504: drop driver remove callback David Lechner
` (6 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: David Lechner @ 2024-10-23 23:54 UTC (permalink / raw)
To: Jonathan Cameron
Cc: Michael Hennerich, Liam Girdwood, Mark Brown, linux-iio,
linux-kernel, David Lechner
Simplify the code by using devm_regulator_get_enable_read_voltage().
Signed-off-by: David Lechner <dlechner@baylibre.com>
---
drivers/iio/dac/ad5504.c | 52 ++++++++++++++----------------------------------
1 file changed, 15 insertions(+), 37 deletions(-)
diff --git a/drivers/iio/dac/ad5504.c b/drivers/iio/dac/ad5504.c
index 305cd58cd257..f1717955ddcf 100644
--- a/drivers/iio/dac/ad5504.c
+++ b/drivers/iio/dac/ad5504.c
@@ -273,35 +273,27 @@ static int ad5504_probe(struct spi_device *spi)
const struct ad5504_platform_data *pdata = dev_get_platdata(&spi->dev);
struct iio_dev *indio_dev;
struct ad5504_state *st;
- struct regulator *reg;
- int ret, voltage_uv = 0;
+ int ret;
indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
if (!indio_dev)
return -ENOMEM;
- reg = devm_regulator_get(&spi->dev, "vcc");
- if (!IS_ERR(reg)) {
- ret = regulator_enable(reg);
- if (ret)
- return ret;
-
- ret = regulator_get_voltage(reg);
- if (ret < 0)
- goto error_disable_reg;
-
- voltage_uv = ret;
- }
spi_set_drvdata(spi, indio_dev);
st = iio_priv(indio_dev);
- if (voltage_uv)
- st->vref_mv = voltage_uv / 1000;
- else if (pdata)
- st->vref_mv = pdata->vref_mv;
- else
- dev_warn(&spi->dev, "reference voltage unspecified\n");
- st->reg = reg;
+ ret = devm_regulator_get_enable_read_voltage(&spi->dev, "vcc");
+ if (ret < 0 && ret != -ENODEV)
+ return ret;
+ if (ret == -ENODEV) {
+ if (pdata->vref_mv)
+ st->vref_mv = pdata->vref_mv;
+ else
+ dev_warn(&spi->dev, "reference voltage unspecified\n");
+ } else {
+ st->vref_mv = ret / 1000;
+ }
+
st->spi = spi;
indio_dev->name = spi_get_device_id(st->spi)->name;
indio_dev->info = &ad5504_info;
@@ -320,31 +312,17 @@ static int ad5504_probe(struct spi_device *spi)
spi_get_device_id(st->spi)->name,
indio_dev);
if (ret)
- goto error_disable_reg;
+ return ret;
}
- ret = iio_device_register(indio_dev);
- if (ret)
- goto error_disable_reg;
-
- return 0;
-
-error_disable_reg:
- if (!IS_ERR(reg))
- regulator_disable(reg);
-
- return ret;
+ return iio_device_register(indio_dev);
}
static void ad5504_remove(struct spi_device *spi)
{
struct iio_dev *indio_dev = spi_get_drvdata(spi);
- struct ad5504_state *st = iio_priv(indio_dev);
iio_device_unregister(indio_dev);
-
- if (!IS_ERR(st->reg))
- regulator_disable(st->reg);
}
static const struct spi_device_id ad5504_id[] = {
--
2.43.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 06/11] iio: dac: ad5504: drop driver remove callback
2024-10-23 23:54 [PATCH 00/11] iio: use devm_regulator_get_enable_read_voltage round 5 David Lechner
` (4 preceding siblings ...)
2024-10-23 23:54 ` [PATCH 05/11] iio: dac: ad5504: use devm_regulator_get_enable_read_voltage() David Lechner
@ 2024-10-23 23:54 ` David Lechner
2024-10-23 23:54 ` [PATCH 07/11] iio: dac: ad5624r: use devm_regulator_get_enable_read_voltage() David Lechner
` (5 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: David Lechner @ 2024-10-23 23:54 UTC (permalink / raw)
To: Jonathan Cameron
Cc: Michael Hennerich, Liam Girdwood, Mark Brown, linux-iio,
linux-kernel, David Lechner
Drop use of the driver remove callback in the ad5504 driver.
By making use of a a devm_ helper, we can avoid the need for the remove
callback entirely.
Signed-off-by: David Lechner <dlechner@baylibre.com>
---
drivers/iio/dac/ad5504.c | 11 +----------
1 file changed, 1 insertion(+), 10 deletions(-)
diff --git a/drivers/iio/dac/ad5504.c b/drivers/iio/dac/ad5504.c
index f1717955ddcf..ff0765c8af47 100644
--- a/drivers/iio/dac/ad5504.c
+++ b/drivers/iio/dac/ad5504.c
@@ -279,7 +279,6 @@ static int ad5504_probe(struct spi_device *spi)
if (!indio_dev)
return -ENOMEM;
- spi_set_drvdata(spi, indio_dev);
st = iio_priv(indio_dev);
ret = devm_regulator_get_enable_read_voltage(&spi->dev, "vcc");
@@ -315,14 +314,7 @@ static int ad5504_probe(struct spi_device *spi)
return ret;
}
- return iio_device_register(indio_dev);
-}
-
-static void ad5504_remove(struct spi_device *spi)
-{
- struct iio_dev *indio_dev = spi_get_drvdata(spi);
-
- iio_device_unregister(indio_dev);
+ return devm_iio_device_register(&spi->dev, indio_dev);
}
static const struct spi_device_id ad5504_id[] = {
@@ -337,7 +329,6 @@ static struct spi_driver ad5504_driver = {
.name = "ad5504",
},
.probe = ad5504_probe,
- .remove = ad5504_remove,
.id_table = ad5504_id,
};
module_spi_driver(ad5504_driver);
--
2.43.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 07/11] iio: dac: ad5624r: use devm_regulator_get_enable_read_voltage()
2024-10-23 23:54 [PATCH 00/11] iio: use devm_regulator_get_enable_read_voltage round 5 David Lechner
` (5 preceding siblings ...)
2024-10-23 23:54 ` [PATCH 06/11] iio: dac: ad5504: drop driver remove callback David Lechner
@ 2024-10-23 23:54 ` David Lechner
2024-10-23 23:54 ` [PATCH 08/11] iio: dac: ad5624r: drop driver remove callback David Lechner
` (4 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: David Lechner @ 2024-10-23 23:54 UTC (permalink / raw)
To: Jonathan Cameron
Cc: Michael Hennerich, Liam Girdwood, Mark Brown, linux-iio,
linux-kernel, David Lechner
Simplify the code by using devm_regulator_get_enable_read_voltage().
Signed-off-by: David Lechner <dlechner@baylibre.com>
---
drivers/iio/dac/ad5624r.h | 1 -
drivers/iio/dac/ad5624r_spi.c | 62 +++++++++----------------------------------
2 files changed, 13 insertions(+), 50 deletions(-)
diff --git a/drivers/iio/dac/ad5624r.h b/drivers/iio/dac/ad5624r.h
index 13964f3a22a4..14a439b06eb6 100644
--- a/drivers/iio/dac/ad5624r.h
+++ b/drivers/iio/dac/ad5624r.h
@@ -54,7 +54,6 @@ struct ad5624r_chip_info {
struct ad5624r_state {
struct spi_device *us;
const struct ad5624r_chip_info *chip_info;
- struct regulator *reg;
unsigned short vref_mv;
unsigned pwr_down_mask;
unsigned pwr_down_mode;
diff --git a/drivers/iio/dac/ad5624r_spi.c b/drivers/iio/dac/ad5624r_spi.c
index 9304d0499bae..5a952b45f488 100644
--- a/drivers/iio/dac/ad5624r_spi.c
+++ b/drivers/iio/dac/ad5624r_spi.c
@@ -223,50 +223,27 @@ static int ad5624r_probe(struct spi_device *spi)
{
struct ad5624r_state *st;
struct iio_dev *indio_dev;
- int ret, voltage_uv = 0;
+ bool external_vref;
+ int ret;
indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
if (!indio_dev)
return -ENOMEM;
st = iio_priv(indio_dev);
- st->reg = devm_regulator_get_optional(&spi->dev, "vref");
- if (!IS_ERR(st->reg)) {
- ret = regulator_enable(st->reg);
- if (ret)
- return ret;
-
- ret = regulator_get_voltage(st->reg);
- if (ret < 0)
- goto error_disable_reg;
-
- voltage_uv = ret;
- } else {
- if (PTR_ERR(st->reg) != -ENODEV)
- return PTR_ERR(st->reg);
+ ret = devm_regulator_get_enable_read_voltage(&spi->dev, "vref");
+ if (ret == -ENODEV)
/* Backwards compatibility. This naming is not correct */
- st->reg = devm_regulator_get_optional(&spi->dev, "vcc");
- if (!IS_ERR(st->reg)) {
- ret = regulator_enable(st->reg);
- if (ret)
- return ret;
-
- ret = regulator_get_voltage(st->reg);
- if (ret < 0)
- goto error_disable_reg;
-
- voltage_uv = ret;
- }
- }
+ ret = devm_regulator_get_enable_read_voltage(&spi->dev, "vcc");
+ if (ret < 0 && ret != -ENODEV)
+ return ret;
+
+ external_vref = ret != -ENODEV;
+ st->vref_mv = external_vref ? ret / 1000 : st->chip_info->int_vref_mv;
spi_set_drvdata(spi, indio_dev);
st->chip_info =
&ad5624r_chip_info_tbl[spi_get_device_id(spi)->driver_data];
- if (voltage_uv)
- st->vref_mv = voltage_uv / 1000;
- else
- st->vref_mv = st->chip_info->int_vref_mv;
-
st->us = spi;
indio_dev->name = spi_get_device_id(spi)->name;
@@ -276,31 +253,18 @@ static int ad5624r_probe(struct spi_device *spi)
indio_dev->num_channels = AD5624R_DAC_CHANNELS;
ret = ad5624r_spi_write(spi, AD5624R_CMD_INTERNAL_REFER_SETUP, 0,
- !!voltage_uv, 16);
+ external_vref, 16);
if (ret)
- goto error_disable_reg;
-
- ret = iio_device_register(indio_dev);
- if (ret)
- goto error_disable_reg;
-
- return 0;
-
-error_disable_reg:
- if (!IS_ERR(st->reg))
- regulator_disable(st->reg);
+ return ret;
- return ret;
+ return iio_device_register(indio_dev);
}
static void ad5624r_remove(struct spi_device *spi)
{
struct iio_dev *indio_dev = spi_get_drvdata(spi);
- struct ad5624r_state *st = iio_priv(indio_dev);
iio_device_unregister(indio_dev);
- if (!IS_ERR(st->reg))
- regulator_disable(st->reg);
}
static const struct spi_device_id ad5624r_id[] = {
--
2.43.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 08/11] iio: dac: ad5624r: drop driver remove callback
2024-10-23 23:54 [PATCH 00/11] iio: use devm_regulator_get_enable_read_voltage round 5 David Lechner
` (6 preceding siblings ...)
2024-10-23 23:54 ` [PATCH 07/11] iio: dac: ad5624r: use devm_regulator_get_enable_read_voltage() David Lechner
@ 2024-10-23 23:54 ` David Lechner
2024-10-23 23:54 ` [PATCH 09/11] iio: dac: ad5761: use devm_regulator_get_enable_read_voltage() David Lechner
` (3 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: David Lechner @ 2024-10-23 23:54 UTC (permalink / raw)
To: Jonathan Cameron
Cc: Michael Hennerich, Liam Girdwood, Mark Brown, linux-iio,
linux-kernel, David Lechner
Drop use of the driver remove callback in the ad5624r_spi driver.
By making use of a a devm_ helper, we can avoid the need for the remove
callback entirely.
Signed-off-by: David Lechner <dlechner@baylibre.com>
---
drivers/iio/dac/ad5624r_spi.c | 11 +----------
1 file changed, 1 insertion(+), 10 deletions(-)
diff --git a/drivers/iio/dac/ad5624r_spi.c b/drivers/iio/dac/ad5624r_spi.c
index 5a952b45f488..2fd38ac8f698 100644
--- a/drivers/iio/dac/ad5624r_spi.c
+++ b/drivers/iio/dac/ad5624r_spi.c
@@ -240,7 +240,6 @@ static int ad5624r_probe(struct spi_device *spi)
external_vref = ret != -ENODEV;
st->vref_mv = external_vref ? ret / 1000 : st->chip_info->int_vref_mv;
- spi_set_drvdata(spi, indio_dev);
st->chip_info =
&ad5624r_chip_info_tbl[spi_get_device_id(spi)->driver_data];
@@ -257,14 +256,7 @@ static int ad5624r_probe(struct spi_device *spi)
if (ret)
return ret;
- return iio_device_register(indio_dev);
-}
-
-static void ad5624r_remove(struct spi_device *spi)
-{
- struct iio_dev *indio_dev = spi_get_drvdata(spi);
-
- iio_device_unregister(indio_dev);
+ return devm_iio_device_register(&spi->dev, indio_dev);
}
static const struct spi_device_id ad5624r_id[] = {
@@ -283,7 +275,6 @@ static struct spi_driver ad5624r_driver = {
.name = "ad5624r",
},
.probe = ad5624r_probe,
- .remove = ad5624r_remove,
.id_table = ad5624r_id,
};
module_spi_driver(ad5624r_driver);
--
2.43.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 09/11] iio: dac: ad5761: use devm_regulator_get_enable_read_voltage()
2024-10-23 23:54 [PATCH 00/11] iio: use devm_regulator_get_enable_read_voltage round 5 David Lechner
` (7 preceding siblings ...)
2024-10-23 23:54 ` [PATCH 08/11] iio: dac: ad5624r: drop driver remove callback David Lechner
@ 2024-10-23 23:54 ` David Lechner
2024-10-23 23:54 ` [PATCH 10/11] iio: dac: ad5761: drop driver remove callback David Lechner
` (2 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: David Lechner @ 2024-10-23 23:54 UTC (permalink / raw)
To: Jonathan Cameron
Cc: Michael Hennerich, Liam Girdwood, Mark Brown, linux-iio,
linux-kernel, David Lechner
Simplify the code by using devm_regulator_get_enable_read_voltage().
Error returns are updated to use dev_err_probe().
Signed-off-by: David Lechner <dlechner@baylibre.com>
---
drivers/iio/dac/ad5761.c | 100 +++++++++++------------------------------------
1 file changed, 23 insertions(+), 77 deletions(-)
diff --git a/drivers/iio/dac/ad5761.c b/drivers/iio/dac/ad5761.c
index 6aa1a068adb0..55e33cf5806e 100644
--- a/drivers/iio/dac/ad5761.c
+++ b/drivers/iio/dac/ad5761.c
@@ -53,7 +53,6 @@ enum ad5761_supported_device_ids {
/**
* struct ad5761_state - driver instance specific data
* @spi: spi_device
- * @vref_reg: reference voltage regulator
* @use_intref: true when the internal voltage reference is used
* @vref: actual voltage reference in mVolts
* @range: output range mode used
@@ -62,7 +61,6 @@ enum ad5761_supported_device_ids {
*/
struct ad5761_state {
struct spi_device *spi;
- struct regulator *vref_reg;
struct mutex lock;
bool use_intref;
@@ -287,63 +285,6 @@ static const struct ad5761_chip_info ad5761_chip_infos[] = {
},
};
-static int ad5761_get_vref(struct ad5761_state *st,
- const struct ad5761_chip_info *chip_info)
-{
- int ret;
-
- st->vref_reg = devm_regulator_get_optional(&st->spi->dev, "vref");
- if (PTR_ERR(st->vref_reg) == -ENODEV) {
- /* Use Internal regulator */
- if (!chip_info->int_vref) {
- dev_err(&st->spi->dev,
- "Voltage reference not found\n");
- return -EIO;
- }
-
- st->use_intref = true;
- st->vref = chip_info->int_vref;
- return 0;
- }
-
- if (IS_ERR(st->vref_reg)) {
- dev_err(&st->spi->dev,
- "Error getting voltage reference regulator\n");
- return PTR_ERR(st->vref_reg);
- }
-
- ret = regulator_enable(st->vref_reg);
- if (ret) {
- dev_err(&st->spi->dev,
- "Failed to enable voltage reference\n");
- return ret;
- }
-
- ret = regulator_get_voltage(st->vref_reg);
- if (ret < 0) {
- dev_err(&st->spi->dev,
- "Failed to get voltage reference value\n");
- goto disable_regulator_vref;
- }
-
- if (ret < 2000000 || ret > 3000000) {
- dev_warn(&st->spi->dev,
- "Invalid external voltage ref. value %d uV\n", ret);
- ret = -EIO;
- goto disable_regulator_vref;
- }
-
- st->vref = ret / 1000;
- st->use_intref = false;
-
- return 0;
-
-disable_regulator_vref:
- regulator_disable(st->vref_reg);
- st->vref_reg = NULL;
- return ret;
-}
-
static int ad5761_probe(struct spi_device *spi)
{
struct iio_dev *iio_dev;
@@ -363,9 +304,27 @@ static int ad5761_probe(struct spi_device *spi)
st->spi = spi;
spi_set_drvdata(spi, iio_dev);
- ret = ad5761_get_vref(st, chip_info);
- if (ret)
- return ret;
+ ret = devm_regulator_get_enable_read_voltage(&spi->dev, "vref");
+ if (ret < 0 && ret != -ENODEV)
+ return dev_err_probe(&spi->dev, ret,
+ "Failed to get voltage reference value\n");
+ if (ret == -ENODEV) {
+ /* Use Internal regulator */
+ if (!chip_info->int_vref)
+ return dev_err_probe(&spi->dev, -EIO,
+ "Voltage reference not found\n");
+
+ st->use_intref = true;
+ st->vref = chip_info->int_vref;
+ } else {
+ if (ret < 2000000 || ret > 3000000)
+ return dev_err_probe(&spi->dev, -EIO,
+ "Invalid external voltage ref. value %d uV\n",
+ ret);
+
+ st->use_intref = false;
+ st->vref = ret / 1000;
+ }
if (pdata)
voltage_range = pdata->voltage_range;
@@ -374,35 +333,22 @@ static int ad5761_probe(struct spi_device *spi)
ret = ad5761_spi_set_range(st, voltage_range);
if (ret)
- goto disable_regulator_err;
+ return ret;
iio_dev->info = &ad5761_info;
iio_dev->modes = INDIO_DIRECT_MODE;
iio_dev->channels = &chip_info->channel;
iio_dev->num_channels = 1;
iio_dev->name = spi_get_device_id(st->spi)->name;
- ret = iio_device_register(iio_dev);
- if (ret)
- goto disable_regulator_err;
- return 0;
-
-disable_regulator_err:
- if (!IS_ERR_OR_NULL(st->vref_reg))
- regulator_disable(st->vref_reg);
-
- return ret;
+ return iio_device_register(iio_dev);
}
static void ad5761_remove(struct spi_device *spi)
{
struct iio_dev *iio_dev = spi_get_drvdata(spi);
- struct ad5761_state *st = iio_priv(iio_dev);
iio_device_unregister(iio_dev);
-
- if (!IS_ERR_OR_NULL(st->vref_reg))
- regulator_disable(st->vref_reg);
}
static const struct spi_device_id ad5761_id[] = {
--
2.43.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 10/11] iio: dac: ad5761: drop driver remove callback
2024-10-23 23:54 [PATCH 00/11] iio: use devm_regulator_get_enable_read_voltage round 5 David Lechner
` (8 preceding siblings ...)
2024-10-23 23:54 ` [PATCH 09/11] iio: dac: ad5761: use devm_regulator_get_enable_read_voltage() David Lechner
@ 2024-10-23 23:54 ` David Lechner
2024-10-23 23:54 ` [PATCH 11/11] iio: dac: ad5770r: use devm_regulator_get_enable_read_voltage() David Lechner
2024-10-26 14:55 ` [PATCH 00/11] iio: use devm_regulator_get_enable_read_voltage round 5 Jonathan Cameron
11 siblings, 0 replies; 13+ messages in thread
From: David Lechner @ 2024-10-23 23:54 UTC (permalink / raw)
To: Jonathan Cameron
Cc: Michael Hennerich, Liam Girdwood, Mark Brown, linux-iio,
linux-kernel, David Lechner
Drop use of the driver remove callback in the ad5761 driver.
By making use of a a devm_ helper, we can avoid the need for the remove
callback entirely.
Signed-off-by: David Lechner <dlechner@baylibre.com>
---
drivers/iio/dac/ad5761.c | 11 +----------
1 file changed, 1 insertion(+), 10 deletions(-)
diff --git a/drivers/iio/dac/ad5761.c b/drivers/iio/dac/ad5761.c
index 55e33cf5806e..0aa5ba7f4654 100644
--- a/drivers/iio/dac/ad5761.c
+++ b/drivers/iio/dac/ad5761.c
@@ -302,7 +302,6 @@ static int ad5761_probe(struct spi_device *spi)
st = iio_priv(iio_dev);
st->spi = spi;
- spi_set_drvdata(spi, iio_dev);
ret = devm_regulator_get_enable_read_voltage(&spi->dev, "vref");
if (ret < 0 && ret != -ENODEV)
@@ -341,14 +340,7 @@ static int ad5761_probe(struct spi_device *spi)
iio_dev->num_channels = 1;
iio_dev->name = spi_get_device_id(st->spi)->name;
- return iio_device_register(iio_dev);
-}
-
-static void ad5761_remove(struct spi_device *spi)
-{
- struct iio_dev *iio_dev = spi_get_drvdata(spi);
-
- iio_device_unregister(iio_dev);
+ return devm_iio_device_register(&spi->dev, iio_dev);
}
static const struct spi_device_id ad5761_id[] = {
@@ -365,7 +357,6 @@ static struct spi_driver ad5761_driver = {
.name = "ad5761",
},
.probe = ad5761_probe,
- .remove = ad5761_remove,
.id_table = ad5761_id,
};
module_spi_driver(ad5761_driver);
--
2.43.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 11/11] iio: dac: ad5770r: use devm_regulator_get_enable_read_voltage()
2024-10-23 23:54 [PATCH 00/11] iio: use devm_regulator_get_enable_read_voltage round 5 David Lechner
` (9 preceding siblings ...)
2024-10-23 23:54 ` [PATCH 10/11] iio: dac: ad5761: drop driver remove callback David Lechner
@ 2024-10-23 23:54 ` David Lechner
2024-10-26 14:55 ` [PATCH 00/11] iio: use devm_regulator_get_enable_read_voltage round 5 Jonathan Cameron
11 siblings, 0 replies; 13+ messages in thread
From: David Lechner @ 2024-10-23 23:54 UTC (permalink / raw)
To: Jonathan Cameron
Cc: Michael Hennerich, Liam Girdwood, Mark Brown, linux-iio,
linux-kernel, David Lechner
Simplify the code by using devm_regulator_get_enable_read_voltage().
Signed-off-by: David Lechner <dlechner@baylibre.com>
---
drivers/iio/dac/ad5770r.c | 41 +++++------------------------------------
1 file changed, 5 insertions(+), 36 deletions(-)
diff --git a/drivers/iio/dac/ad5770r.c b/drivers/iio/dac/ad5770r.c
index 7d7f5110d66a..25cf11d0471b 100644
--- a/drivers/iio/dac/ad5770r.c
+++ b/drivers/iio/dac/ad5770r.c
@@ -122,7 +122,6 @@ struct ad5770r_out_range {
* struct ad5770r_state - driver instance specific data
* @spi: spi_device
* @regmap: regmap
- * @vref_reg: fixed regulator for reference configuration
* @gpio_reset: gpio descriptor
* @output_mode: array contains channels output ranges
* @vref: reference value
@@ -134,7 +133,6 @@ struct ad5770r_out_range {
struct ad5770r_state {
struct spi_device *spi;
struct regmap *regmap;
- struct regulator *vref_reg;
struct gpio_desc *gpio_reset;
struct ad5770r_out_range output_mode[AD5770R_MAX_CHANNELS];
int vref;
@@ -591,13 +589,6 @@ static int ad5770r_init(struct ad5770r_state *st)
return ret;
}
-static void ad5770r_disable_regulator(void *data)
-{
- struct ad5770r_state *st = data;
-
- regulator_disable(st->vref_reg);
-}
-
static int ad5770r_probe(struct spi_device *spi)
{
struct ad5770r_state *st;
@@ -622,34 +613,12 @@ static int ad5770r_probe(struct spi_device *spi)
}
st->regmap = regmap;
- st->vref_reg = devm_regulator_get_optional(&spi->dev, "vref");
- if (!IS_ERR(st->vref_reg)) {
- ret = regulator_enable(st->vref_reg);
- if (ret) {
- dev_err(&spi->dev,
- "Failed to enable vref regulators: %d\n", ret);
- return ret;
- }
+ ret = devm_regulator_get_enable_read_voltage(&spi->dev, "vref");
+ if (ret < 0 && ret != -ENODEV)
+ return dev_err_probe(&spi->dev, ret, "Failed to get vref voltage\n");
- ret = devm_add_action_or_reset(&spi->dev,
- ad5770r_disable_regulator,
- st);
- if (ret < 0)
- return ret;
-
- ret = regulator_get_voltage(st->vref_reg);
- if (ret < 0)
- return ret;
-
- st->vref = ret / 1000;
- } else {
- if (PTR_ERR(st->vref_reg) == -ENODEV) {
- st->vref = AD5770R_LOW_VREF_mV;
- st->internal_ref = true;
- } else {
- return PTR_ERR(st->vref_reg);
- }
- }
+ st->internal_ref = ret == -ENODEV;
+ st->vref = st->internal_ref ? AD5770R_LOW_VREF_mV : ret / 1000;
indio_dev->name = spi_get_device_id(spi)->name;
indio_dev->info = &ad5770r_info;
--
2.43.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 00/11] iio: use devm_regulator_get_enable_read_voltage round 5
2024-10-23 23:54 [PATCH 00/11] iio: use devm_regulator_get_enable_read_voltage round 5 David Lechner
` (10 preceding siblings ...)
2024-10-23 23:54 ` [PATCH 11/11] iio: dac: ad5770r: use devm_regulator_get_enable_read_voltage() David Lechner
@ 2024-10-26 14:55 ` Jonathan Cameron
11 siblings, 0 replies; 13+ messages in thread
From: Jonathan Cameron @ 2024-10-26 14:55 UTC (permalink / raw)
To: David Lechner
Cc: Michael Hennerich, Liam Girdwood, Mark Brown, linux-iio,
linux-kernel
On Wed, 23 Oct 2024 18:54:04 -0500
David Lechner <dlechner@baylibre.com> wrote:
> Here comes another round of reducing boilerplate code by simplifying
> getting reference voltages and dropping more driver remove callbacks.
>
Nice series. Applied to the togreg branch of iio.git and pushed out as testing.
Thanks,
Jonathan
> Signed-off-by: David Lechner <dlechner@baylibre.com>
> ---
> David Lechner (11):
> iio: dac: ad5380: use devm_regulator_get_enable_read_voltage()
> iio: dac: ad5380: drop driver remove callbacks
> iio: dac: ad5446: use devm_regulator_get_enable_read_voltage()
> iio: dac: ad5446: drop driver remove callbacks
> iio: dac: ad5504: use devm_regulator_get_enable_read_voltage()
> iio: dac: ad5504: drop driver remove callback
> iio: dac: ad5624r: use devm_regulator_get_enable_read_voltage()
> iio: dac: ad5624r: drop driver remove callback
> iio: dac: ad5761: use devm_regulator_get_enable_read_voltage()
> iio: dac: ad5761: drop driver remove callback
> iio: dac: ad5770r: use devm_regulator_get_enable_read_voltage()
>
> drivers/iio/dac/ad5380.c | 85 +++++++-------------------------
> drivers/iio/dac/ad5446.c | 77 +++++++----------------------
> drivers/iio/dac/ad5504.c | 59 ++++++-----------------
> drivers/iio/dac/ad5624r.h | 1 -
> drivers/iio/dac/ad5624r_spi.c | 71 +++++----------------------
> drivers/iio/dac/ad5761.c | 109 +++++++++---------------------------------
> drivers/iio/dac/ad5770r.c | 41 ++--------------
> 7 files changed, 88 insertions(+), 355 deletions(-)
> ---
> base-commit: 9090ececac9ff1e22fb7e042f3c886990a8fb090
> change-id: 20240813-iio-regulator-refactor-round-5-3248993c93b0
>
> Best regards,
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2024-10-26 14:55 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-23 23:54 [PATCH 00/11] iio: use devm_regulator_get_enable_read_voltage round 5 David Lechner
2024-10-23 23:54 ` [PATCH 01/11] iio: dac: ad5380: use devm_regulator_get_enable_read_voltage() David Lechner
2024-10-23 23:54 ` [PATCH 02/11] iio: dac: ad5380: drop driver remove callbacks David Lechner
2024-10-23 23:54 ` [PATCH 03/11] iio: dac: ad5446: use devm_regulator_get_enable_read_voltage() David Lechner
2024-10-23 23:54 ` [PATCH 04/11] iio: dac: ad5446: drop driver remove callbacks David Lechner
2024-10-23 23:54 ` [PATCH 05/11] iio: dac: ad5504: use devm_regulator_get_enable_read_voltage() David Lechner
2024-10-23 23:54 ` [PATCH 06/11] iio: dac: ad5504: drop driver remove callback David Lechner
2024-10-23 23:54 ` [PATCH 07/11] iio: dac: ad5624r: use devm_regulator_get_enable_read_voltage() David Lechner
2024-10-23 23:54 ` [PATCH 08/11] iio: dac: ad5624r: drop driver remove callback David Lechner
2024-10-23 23:54 ` [PATCH 09/11] iio: dac: ad5761: use devm_regulator_get_enable_read_voltage() David Lechner
2024-10-23 23:54 ` [PATCH 10/11] iio: dac: ad5761: drop driver remove callback David Lechner
2024-10-23 23:54 ` [PATCH 11/11] iio: dac: ad5770r: use devm_regulator_get_enable_read_voltage() David Lechner
2024-10-26 14:55 ` [PATCH 00/11] iio: use devm_regulator_get_enable_read_voltage round 5 Jonathan Cameron
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).