mtd: nand: sh_flctl: use the mtd instance embedded in struct nand_chip
authorBoris BREZILLON <boris.brezillon@free-electrons.com>
Thu, 10 Dec 2015 08:00:23 +0000 (09:00 +0100)
committerBrian Norris <computersforpeace@gmail.com>
Fri, 18 Dec 2015 18:54:41 +0000 (10:54 -0800)
struct nand_chip now embeds an mtd device. Make use of this mtd instance.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
drivers/mtd/nand/sh_flctl.c
include/linux/mtd/sh_flctl.h

index 57dc52578e078378a46c379de33b7203f60c414c..0ec4b04b35362415e1713ec5c6f605dc652c2e87 100644 (file)
@@ -607,13 +607,13 @@ static void execmd_read_page_sector(struct mtd_info *mtd, int page_addr)
                case FL_REPAIRABLE:
                        dev_info(&flctl->pdev->dev,
                                "applied ecc on page 0x%x", page_addr);
-                       flctl->mtd.ecc_stats.corrected++;
+                       mtd->ecc_stats.corrected++;
                        break;
                case FL_ERROR:
                        dev_warn(&flctl->pdev->dev,
                                "page 0x%x contains corrupted data\n",
                                page_addr);
-                       flctl->mtd.ecc_stats.failed++;
+                       mtd->ecc_stats.failed++;
                        break;
                default:
                        ;
@@ -1120,8 +1120,8 @@ static int flctl_probe(struct platform_device *pdev)
        }
 
        platform_set_drvdata(pdev, flctl);
-       flctl_mtd = &flctl->mtd;
        nand = &flctl->chip;
+       flctl_mtd = nand_to_mtd(nand);
        nand_set_flash_node(nand, pdev->dev.of_node);
        flctl_mtd->priv = nand;
        flctl_mtd->dev.parent = &pdev->dev;
@@ -1178,7 +1178,7 @@ static int flctl_remove(struct platform_device *pdev)
        struct sh_flctl *flctl = platform_get_drvdata(pdev);
 
        flctl_release_dma(flctl);
-       nand_release(&flctl->mtd);
+       nand_release(nand_to_mtd(&flctl->chip));
        pm_runtime_disable(&pdev->dev);
 
        return 0;
index 1c28f8879b1c2f347b0e14b4605cc4eb6f36b310..76e3e88bedfebb096a13db6885faa6105077091c 100644 (file)
@@ -143,7 +143,6 @@ enum flctl_ecc_res_t {
 struct dma_chan;
 
 struct sh_flctl {
-       struct mtd_info         mtd;
        struct nand_chip        chip;
        struct platform_device  *pdev;
        struct dev_pm_qos_request pm_qos;
@@ -186,7 +185,7 @@ struct sh_flctl_platform_data {
 
 static inline struct sh_flctl *mtd_to_flctl(struct mtd_info *mtdinfo)
 {
-       return container_of(mtdinfo, struct sh_flctl, mtd);
+       return container_of(mtd_to_nand(mtdinfo), struct sh_flctl, chip);
 }
 
 #endif /* __SH_FLCTL_H__ */