|
@@ -103,7 +103,6 @@
|
|
|
/*--------------------------------------------------------------------------*/
|
|
|
|
|
|
struct tmio_nand {
|
|
|
- struct mtd_info mtd;
|
|
|
struct nand_chip chip;
|
|
|
|
|
|
struct platform_device *dev;
|
|
@@ -119,7 +118,10 @@ struct tmio_nand {
|
|
|
unsigned read_good:1;
|
|
|
};
|
|
|
|
|
|
-#define mtd_to_tmio(m) container_of(m, struct tmio_nand, mtd)
|
|
|
+static inline struct tmio_nand *mtd_to_tmio(struct mtd_info *mtd)
|
|
|
+{
|
|
|
+ return container_of(mtd_to_nand(mtd), struct tmio_nand, chip);
|
|
|
+}
|
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------------*/
|
|
@@ -378,8 +380,8 @@ static int tmio_probe(struct platform_device *dev)
|
|
|
tmio->dev = dev;
|
|
|
|
|
|
platform_set_drvdata(dev, tmio);
|
|
|
- mtd = &tmio->mtd;
|
|
|
nand_chip = &tmio->chip;
|
|
|
+ mtd = nand_to_mtd(nand_chip);
|
|
|
mtd->priv = nand_chip;
|
|
|
mtd->name = "tmio-nand";
|
|
|
mtd->dev.parent = &dev->dev;
|
|
@@ -456,7 +458,7 @@ static int tmio_remove(struct platform_device *dev)
|
|
|
{
|
|
|
struct tmio_nand *tmio = platform_get_drvdata(dev);
|
|
|
|
|
|
- nand_release(&tmio->mtd);
|
|
|
+ nand_release(nand_to_mtd(&tmio->chip));
|
|
|
tmio_hw_stop(dev, tmio);
|
|
|
return 0;
|
|
|
}
|