[PATCH 10/17] mtd: gpmi-nand: switch to clk support

Sascha Hauer s.hauer at pengutronix.de
Thu Jun 20 02:54:14 EDT 2013


Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 drivers/mtd/nand/nand_mxs.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/mtd/nand/nand_mxs.c b/drivers/mtd/nand/nand_mxs.c
index dd43a95..56d5ecf 100644
--- a/drivers/mtd/nand/nand_mxs.c
+++ b/drivers/mtd/nand/nand_mxs.c
@@ -21,6 +21,8 @@
 #include <linux/mtd/mtd.h>
 #include <linux/mtd/nand.h>
 #include <linux/types.h>
+#include <linux/clk.h>
+#include <linux/err.h>
 #include <common.h>
 #include <malloc.h>
 #include <errno.h>
@@ -140,6 +142,7 @@
 struct mxs_nand_info {
 	struct nand_chip	nand_chip;
 	void __iomem		*io_base;
+	struct clk		*clk;
 	struct mtd_info		mtd;
 	u32		version;
 
@@ -1147,8 +1150,6 @@ int mxs_nand_hw_init(struct mxs_nand_info *info)
 	/* Init the DMA controller. */
 	mxs_dma_init();
 
-	imx_enable_nandclk();
-
 	/* Reset the GPMI block. */
 	ret = mxs_reset_block(gpmi_regs + GPMI_CTRL0, 0);
 	if (ret)
@@ -1200,6 +1201,12 @@ static int mxs_nand_probe(struct device_d *dev)
 	/* XXX: Remove u-boot specific access pointers and use io_base instead? */
 	nand_info->io_base = dev_request_mem_region(dev, 0);
 
+	nand_info->clk = clk_get(dev, NULL);
+	if (IS_ERR(nand_info->clk))
+		return PTR_ERR(nand_info->clk);
+
+	clk_enable(nand_info->clk);
+
 	err = mxs_nand_alloc_buffers(nand_info);
 	if (err)
 		goto err1;
-- 
1.8.3.1




More information about the barebox mailing list