void mxsfb_enable_axi_clk(struct mxsfb_drm_private *mxsfb)
 {
-       if (mxsfb->clk_axi)
-               clk_prepare_enable(mxsfb->clk_axi);
+       clk_prepare_enable(mxsfb->clk_axi);
 }
 
 void mxsfb_disable_axi_clk(struct mxsfb_drm_private *mxsfb)
 {
-       if (mxsfb->clk_axi)
-               clk_disable_unprepare(mxsfb->clk_axi);
+       clk_disable_unprepare(mxsfb->clk_axi);
 }
 
 static struct drm_framebuffer *
        if (IS_ERR(mxsfb->clk))
                return PTR_ERR(mxsfb->clk);
 
-       mxsfb->clk_axi = devm_clk_get(drm->dev, "axi");
+       mxsfb->clk_axi = devm_clk_get_optional(drm->dev, "axi");
        if (IS_ERR(mxsfb->clk_axi))
-               mxsfb->clk_axi = NULL;
+               return PTR_ERR(mxsfb->clk_axi);
 
        mxsfb->clk_disp_axi = devm_clk_get(drm->dev, "disp_axi");
        if (IS_ERR(mxsfb->clk_disp_axi))