[PATCH 11/11] mtd: nand: gpmi: replace MXS_BCH_BASE with driver resources
Sascha Hauer
s.hauer at pengutronix.de
Wed Jul 10 08:00:01 EDT 2013
Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
drivers/mtd/nand/nand_mxs.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/drivers/mtd/nand/nand_mxs.c b/drivers/mtd/nand/nand_mxs.c
index 0611d7a..09ee55e 100644
--- a/drivers/mtd/nand/nand_mxs.c
+++ b/drivers/mtd/nand/nand_mxs.c
@@ -140,6 +140,7 @@
struct mxs_nand_info {
struct nand_chip nand_chip;
void __iomem *io_base;
+ void __iomem *bch_base;
struct clk *clk;
struct mtd_info mtd;
u32 version;
@@ -297,9 +298,9 @@ static uint32_t mxs_nand_mark_bit_offset(struct mtd_info *mtd)
/*
* Wait for BCH complete IRQ and clear the IRQ
*/
-static int mxs_nand_wait_for_bch_complete(void)
+static int mxs_nand_wait_for_bch_complete(struct mxs_nand_info *nand_info)
{
- void __iomem *bch_regs = (void __iomem *)MXS_BCH_BASE;
+ void __iomem *bch_regs = nand_info->bch_base;
int timeout = MXS_NAND_BCH_TIMEOUT;
int ret;
@@ -706,7 +707,7 @@ static int mxs_nand_ecc_read_page(struct mtd_info *mtd, struct nand_chip *nand,
goto rtn;
}
- ret = mxs_nand_wait_for_bch_complete();
+ ret = mxs_nand_wait_for_bch_complete(nand_info);
if (ret) {
printf("MXS NAND: BCH read timeout\n");
goto rtn;
@@ -806,7 +807,7 @@ static void mxs_nand_ecc_write_page(struct mtd_info *mtd,
goto rtn;
}
- ret = mxs_nand_wait_for_bch_complete();
+ ret = mxs_nand_wait_for_bch_complete(nand_info);
if (ret) {
printf("MXS NAND: BCH write timeout\n");
goto rtn;
@@ -1038,7 +1039,7 @@ static int mxs_nand_scan_bbt(struct mtd_info *mtd)
{
struct nand_chip *nand = mtd->priv;
struct mxs_nand_info *nand_info = nand->priv;
- void __iomem *bch_regs = (void __iomem *)MXS_BCH_BASE;
+ void __iomem *bch_regs = nand_info->bch_base;
uint32_t tmp;
int ret;
@@ -1129,7 +1130,7 @@ int mxs_nand_alloc_buffers(struct mxs_nand_info *nand_info)
int mxs_nand_hw_init(struct mxs_nand_info *info)
{
void __iomem *gpmi_regs = info->io_base;
- void __iomem *bch_regs = (void __iomem *)MXS_BCH_BASE;
+ void __iomem *bch_regs = info->bch_base;
int i = 0, ret;
u32 val;
@@ -1194,6 +1195,7 @@ static int mxs_nand_probe(struct device_d *dev)
}
nand_info->io_base = dev_request_mem_region(dev, 0);
+ nand_info->bch_base = dev_request_mem_region(dev, 1);
nand_info->clk = clk_get(dev, NULL);
if (IS_ERR(nand_info->clk))
--
1.8.3.2
More information about the barebox
mailing list