drivers/staging/iio/frequency/ad9834.c | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-)
Use devm_regulator_get_enable() to simplify code.
Signed-off-by: Saalim Quadri <danascape@gmail.com>
---
drivers/staging/iio/frequency/ad9834.c | 22 ++--------------------
1 file changed, 2 insertions(+), 20 deletions(-)
diff --git a/drivers/staging/iio/frequency/ad9834.c b/drivers/staging/iio/frequency/ad9834.c
index 6e99e008c5f4..5da2084c46c9 100644
--- a/drivers/staging/iio/frequency/ad9834.c
+++ b/drivers/staging/iio/frequency/ad9834.c
@@ -387,33 +387,15 @@ static const struct iio_info ad9833_info = {
.attrs = &ad9833_attribute_group,
};
-static void ad9834_disable_reg(void *data)
-{
- struct regulator *reg = data;
-
- regulator_disable(reg);
-}
-
static int ad9834_probe(struct spi_device *spi)
{
struct ad9834_state *st;
struct iio_dev *indio_dev;
- struct regulator *reg;
int ret;
- reg = devm_regulator_get(&spi->dev, "avdd");
- if (IS_ERR(reg))
- return PTR_ERR(reg);
-
- ret = regulator_enable(reg);
- if (ret) {
- dev_err(&spi->dev, "Failed to enable specified AVDD supply\n");
- return ret;
- }
-
- ret = devm_add_action_or_reset(&spi->dev, ad9834_disable_reg, reg);
+ ret = devm_regulator_get_enable(&spi->dev, "avdd");
if (ret)
- return ret;
+ return dev_err_probe(&spi->dev, ret, "Failed to get AVDD voltage\n");
indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
if (!indio_dev) {
--
2.34.1
On Tue, 4 Mar 2025 03:52:00 +0530
Saalim Quadri <danascape@gmail.com> wrote:
> Use devm_regulator_get_enable() to simplify code.
>
> Signed-off-by: Saalim Quadri <danascape@gmail.com>
> ---
> drivers/staging/iio/frequency/ad9834.c | 22 ++--------------------
> 1 file changed, 2 insertions(+), 20 deletions(-)
>
> diff --git a/drivers/staging/iio/frequency/ad9834.c b/drivers/staging/iio/frequency/ad9834.c
> index 6e99e008c5f4..5da2084c46c9 100644
> --- a/drivers/staging/iio/frequency/ad9834.c
> +++ b/drivers/staging/iio/frequency/ad9834.c
> @@ -387,33 +387,15 @@ static const struct iio_info ad9833_info = {
> .attrs = &ad9833_attribute_group,
> };
>
> -static void ad9834_disable_reg(void *data)
> -{
> - struct regulator *reg = data;
> -
> - regulator_disable(reg);
> -}
> -
> static int ad9834_probe(struct spi_device *spi)
> {
> struct ad9834_state *st;
> struct iio_dev *indio_dev;
> - struct regulator *reg;
> int ret;
>
> - reg = devm_regulator_get(&spi->dev, "avdd");
> - if (IS_ERR(reg))
> - return PTR_ERR(reg);
> -
> - ret = regulator_enable(reg);
> - if (ret) {
> - dev_err(&spi->dev, "Failed to enable specified AVDD supply\n");
> - return ret;
> - }
> -
> - ret = devm_add_action_or_reset(&spi->dev, ad9834_disable_reg, reg);
> + ret = devm_regulator_get_enable(&spi->dev, "avdd");
> if (ret)
> - return ret;
> + return dev_err_probe(&spi->dev, ret, "Failed to get AVDD voltage\n");
Hi,
You aren't getting the voltage, just turning the regulator on so this
error message is misleading.
>
> indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
> if (!indio_dev) {
© 2016 - 2026 Red Hat, Inc.