regulator_disable(r);
 }
 
-static void ad7124_clk_disable(void *c)
-{
-       clk_disable_unprepare(c);
-}
-
 static int ad7124_probe(struct spi_device *spi)
 {
        const struct ad7124_chip_info *info;
                        return ret;
        }
 
-       st->mclk = devm_clk_get(&spi->dev, "mclk");
+       st->mclk = devm_clk_get_enabled(&spi->dev, "mclk");
        if (IS_ERR(st->mclk))
                return PTR_ERR(st->mclk);
 
-       ret = clk_prepare_enable(st->mclk);
-       if (ret < 0)
-               return ret;
-
-       ret = devm_add_action_or_reset(&spi->dev, ad7124_clk_disable, st->mclk);
-       if (ret)
-               return ret;
-
        ret = ad7124_soft_reset(st);
        if (ret < 0)
                return ret;