[XADC_TYPE_US] = "xilinx-system-monitor",
 };
 
-static void xadc_clk_disable_unprepare(void *data)
-{
-       struct clk *clk = data;
-
-       clk_disable_unprepare(clk);
-}
-
 static void xadc_cancel_delayed_work(void *data)
 {
        struct delayed_work *work = data;
                }
        }
 
-       xadc->clk = devm_clk_get(dev, NULL);
+       xadc->clk = devm_clk_get_enabled(dev, NULL);
        if (IS_ERR(xadc->clk))
                return PTR_ERR(xadc->clk);
 
-       ret = clk_prepare_enable(xadc->clk);
-       if (ret)
-               return ret;
-
-       ret = devm_add_action_or_reset(dev,
-                                      xadc_clk_disable_unprepare, xadc->clk);
-       if (ret)
-               return ret;
-
        /*
         * Make sure not to exceed the maximum samplerate since otherwise the
         * resulting interrupt storm will soft-lock the system.