struct ad9523_state {
        struct spi_device               *spi;
-       struct regulator                *reg;
        struct ad9523_platform_data     *pdata;
        struct iio_chan_spec            ad9523_channels[AD9523_NUM_CHAN];
        struct gpio_desc                *pwrdown_gpio;
        return 0;
 }
 
-static void ad9523_reg_disable(void *data)
-{
-       struct regulator *reg = data;
-
-       regulator_disable(reg);
-}
-
 static int ad9523_probe(struct spi_device *spi)
 {
        struct ad9523_platform_data *pdata = spi->dev.platform_data;
 
        mutex_init(&st->lock);
 
-       st->reg = devm_regulator_get(&spi->dev, "vcc");
-       if (!IS_ERR(st->reg)) {
-               ret = regulator_enable(st->reg);
-               if (ret)
-                       return ret;
-
-               ret = devm_add_action_or_reset(&spi->dev, ad9523_reg_disable,
-                                              st->reg);
-               if (ret)
-                       return ret;
-       }
+       ret = devm_regulator_get_enable(&spi->dev, "vcc");
+       if (ret)
+               return ret;
 
        st->pwrdown_gpio = devm_gpiod_get_optional(&spi->dev, "powerdown",
                GPIOD_OUT_HIGH);