return PTR_ERR(priv->clk);
        }
 
-       clk_enable(priv->clk);
+       clk_prepare_enable(priv->clk);
 
        host = ata_host_alloc(&pdev->dev, 1);
        if (!host)
                                &pata_imx_sht);
 
 free_priv:
-       clk_disable(priv->clk);
+       clk_disable_unprepare(priv->clk);
        clk_put(priv->clk);
        return -ENOMEM;
 }
 
        __raw_writel(0, priv->host_regs + PATA_IMX_ATA_INT_EN);
 
-       clk_disable(priv->clk);
+       clk_disable_unprepare(priv->clk);
        clk_put(priv->clk);
 
        return 0;
                __raw_writel(0, priv->host_regs + PATA_IMX_ATA_INT_EN);
                priv->ata_ctl =
                        __raw_readl(priv->host_regs + PATA_IMX_ATA_CONTROL);
-               clk_disable(priv->clk);
+               clk_disable_unprepare(priv->clk);
        }
 
        return ret;
        struct ata_host *host = dev_get_drvdata(dev);
        struct pata_imx_priv *priv = host->private_data;
 
-       clk_enable(priv->clk);
+       clk_prepare_enable(priv->clk);
 
        __raw_writel(priv->ata_ctl, priv->host_regs + PATA_IMX_ATA_CONTROL);