|
@@ -59,7 +59,6 @@
|
|
|
#define JZ_NAND_MEM_ADDR_OFFSET 0x10000
|
|
|
|
|
|
struct jz_nand {
|
|
|
- struct mtd_info mtd;
|
|
|
struct nand_chip chip;
|
|
|
void __iomem *base;
|
|
|
struct resource *mem;
|
|
@@ -76,7 +75,7 @@ struct jz_nand {
|
|
|
|
|
|
static inline struct jz_nand *mtd_to_jz_nand(struct mtd_info *mtd)
|
|
|
{
|
|
|
- return container_of(mtd, struct jz_nand, mtd);
|
|
|
+ return container_of(mtd_to_nand(mtd), struct jz_nand, chip);
|
|
|
}
|
|
|
|
|
|
static void jz_nand_select_chip(struct mtd_info *mtd, int chipnr)
|
|
@@ -334,8 +333,8 @@ static int jz_nand_detect_bank(struct platform_device *pdev,
|
|
|
char gpio_name[9];
|
|
|
char res_name[6];
|
|
|
uint32_t ctrl;
|
|
|
- struct mtd_info *mtd = &nand->mtd;
|
|
|
struct nand_chip *chip = &nand->chip;
|
|
|
+ struct mtd_info *mtd = nand_to_mtd(chip);
|
|
|
|
|
|
/* Request GPIO port. */
|
|
|
gpio = JZ_GPIO_MEM_CS0 + bank - 1;
|
|
@@ -432,8 +431,8 @@ static int jz_nand_probe(struct platform_device *pdev)
|
|
|
goto err_iounmap_mmio;
|
|
|
}
|
|
|
|
|
|
- mtd = &nand->mtd;
|
|
|
chip = &nand->chip;
|
|
|
+ mtd = nand_to_mtd(chip);
|
|
|
mtd->priv = chip;
|
|
|
mtd->dev.parent = &pdev->dev;
|
|
|
mtd->name = "jz4740-nand";
|
|
@@ -543,7 +542,7 @@ static int jz_nand_remove(struct platform_device *pdev)
|
|
|
struct jz_nand *nand = platform_get_drvdata(pdev);
|
|
|
size_t i;
|
|
|
|
|
|
- nand_release(&nand->mtd);
|
|
|
+ nand_release(nand_to_mtd(&nand->chip));
|
|
|
|
|
|
/* Deassert and disable all chips */
|
|
|
writel(0, nand->base + JZ_REG_NAND_CTRL);
|