return ad9467_outputmode_set(st->spi, st->output_mode);
 }
 
-static void ad9467_clk_disable(void *data)
-{
-       struct ad9467_state *st = data;
-
-       clk_disable_unprepare(st->clk);
-}
-
 static int ad9467_probe(struct spi_device *spi)
 {
        const struct ad9467_chip_info *info;
        st = adi_axi_adc_conv_priv(conv);
        st->spi = spi;
 
-       st->clk = devm_clk_get(&spi->dev, "adc-clk");
+       st->clk = devm_clk_get_enabled(&spi->dev, "adc-clk");
        if (IS_ERR(st->clk))
                return PTR_ERR(st->clk);
 
-       ret = clk_prepare_enable(st->clk);
-       if (ret < 0)
-               return ret;
-
-       ret = devm_add_action_or_reset(&spi->dev, ad9467_clk_disable, st);
-       if (ret)
-               return ret;
-
        st->pwrdown_gpio = devm_gpiod_get_optional(&spi->dev, "powerdown",
                                                   GPIOD_OUT_LOW);
        if (IS_ERR(st->pwrdown_gpio))