mtd: nand: sh_flctl: use the mtd instance embedded in struct nand_chip
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>
This commit is contained in:
committed by
Brian Norris
parent
de9f56f913
commit
9c9eef89ec
@@ -607,13 +607,13 @@ static void execmd_read_page_sector(struct mtd_info *mtd, int page_addr)
|
|||||||
case FL_REPAIRABLE:
|
case FL_REPAIRABLE:
|
||||||
dev_info(&flctl->pdev->dev,
|
dev_info(&flctl->pdev->dev,
|
||||||
"applied ecc on page 0x%x", page_addr);
|
"applied ecc on page 0x%x", page_addr);
|
||||||
flctl->mtd.ecc_stats.corrected++;
|
mtd->ecc_stats.corrected++;
|
||||||
break;
|
break;
|
||||||
case FL_ERROR:
|
case FL_ERROR:
|
||||||
dev_warn(&flctl->pdev->dev,
|
dev_warn(&flctl->pdev->dev,
|
||||||
"page 0x%x contains corrupted data\n",
|
"page 0x%x contains corrupted data\n",
|
||||||
page_addr);
|
page_addr);
|
||||||
flctl->mtd.ecc_stats.failed++;
|
mtd->ecc_stats.failed++;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
;
|
;
|
||||||
@@ -1120,8 +1120,8 @@ static int flctl_probe(struct platform_device *pdev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
platform_set_drvdata(pdev, flctl);
|
platform_set_drvdata(pdev, flctl);
|
||||||
flctl_mtd = &flctl->mtd;
|
|
||||||
nand = &flctl->chip;
|
nand = &flctl->chip;
|
||||||
|
flctl_mtd = nand_to_mtd(nand);
|
||||||
nand_set_flash_node(nand, pdev->dev.of_node);
|
nand_set_flash_node(nand, pdev->dev.of_node);
|
||||||
flctl_mtd->priv = nand;
|
flctl_mtd->priv = nand;
|
||||||
flctl_mtd->dev.parent = &pdev->dev;
|
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);
|
struct sh_flctl *flctl = platform_get_drvdata(pdev);
|
||||||
|
|
||||||
flctl_release_dma(flctl);
|
flctl_release_dma(flctl);
|
||||||
nand_release(&flctl->mtd);
|
nand_release(nand_to_mtd(&flctl->chip));
|
||||||
pm_runtime_disable(&pdev->dev);
|
pm_runtime_disable(&pdev->dev);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -143,7 +143,6 @@ enum flctl_ecc_res_t {
|
|||||||
struct dma_chan;
|
struct dma_chan;
|
||||||
|
|
||||||
struct sh_flctl {
|
struct sh_flctl {
|
||||||
struct mtd_info mtd;
|
|
||||||
struct nand_chip chip;
|
struct nand_chip chip;
|
||||||
struct platform_device *pdev;
|
struct platform_device *pdev;
|
||||||
struct dev_pm_qos_request pm_qos;
|
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)
|
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__ */
|
#endif /* __SH_FLCTL_H__ */
|
||||||
|
|||||||
Reference in New Issue
Block a user