mtd: nand: bcm47xx: use the mtd instance embedded in struct nand_chip
Subsystems (2)
PATCH v5 1/1 mtd: nand: bcm47xx: use the mtd instance embedded in struct nand_chip
From: Boris BREZILLON <[email protected]>
struct nand_chip now embeds an mtd device. Make use of this mtd instance.
---
Rebased Boris's patch to l2-mtd.git
drivers/mtd/nand/bcm47xxnflash/bcm47xxnflash.h | 1 - drivers/mtd/nand/bcm47xxnflash/main.c | 10 ++++++---- drivers/mtd/nand/bcm47xxnflash/ops_bcm4706.c | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-)
drivers/mtd/nand/bcm47xxnflash/bcm47xxnflash.h +0 -1
@@ -12,7 +12,6 @@ struct bcm47xxnflash {struct bcma_drv_cc *cc;struct nand_chip nand_chip; -struct mtd_info mtd;unsigned curr_command;int curr_page_addr;
drivers/mtd/nand/bcm47xxnflash/main.c +6 -4
@@ -27,6 +27,7 @@ static int bcm47xxnflash_probe(struct platform_device *pdev) {struct bcma_nflash *nflash =dev_get_platdata (&pdev->dev);struct bcm47xxnflash *b47n; +struct mtd_info *mtd;int err =0 ; b47n =devm_kzalloc (&pdev->dev,sizeof (*b47n),GFP_KERNEL );
@@ -34,8 +35,9 @@ static int bcm47xxnflash_probe(struct platform_device *pdev)return -ENOMEM ; b47n->nand_chip.priv = b47n; - b47n->mtd.dev.parent = &pdev->dev; - b47n->mtd.priv = &b47n->nand_chip;/* Required */ + mtd =nand_to_mtd (&b47n->nand_chip); + mtd->dev.parent = &pdev->dev; + mtd->priv = &b47n->nand_chip;/* Required */ b47n->cc = container_of(nflash, struct bcma_drv_cc, nflash);if (b47n->cc->core->bus->chipinfo.id ==BCMA_CHIP_ID_BCM4706 ) {
@@ -51,7 +53,7 @@ static int bcm47xxnflash_probe(struct platform_device *pdev)platform_set_drvdata (pdev, b47n); - err =mtd_device_parse_register (&b47n->mtd, probes,NULL ,NULL ,0 ); + err =mtd_device_parse_register (mtd, probes,NULL ,NULL ,0 );if (err) {pr_err ("Failed to register MTD device: %d\n" , err);return err;
@@ -64,7 +66,7 @@ static int bcm47xxnflash_remove(struct platform_device *pdev) {struct bcm47xxnflash *nflash =platform_get_drvdata (pdev); -nand_release (&nflash->mtd); +nand_release (nand_to_mtd (&nflash->nand_chip));return 0 ; }
drivers/mtd/nand/bcm47xxnflash/ops_bcm4706.c +1 -1
@@ -421,7 +421,7 @@ int bcm47xxnflash_ops_bcm4706_init(struct bcm47xxnflash *b47n) (w4 << 24 | w3 << 18 | w2 << 12 | w1 << 6 | w0));/* Scan NAND */ - err =nand_scan (&b47n->mtd,1 ); + err =nand_scan (nand_to_mtd (&b47n->nand_chip),1 );if (err) {pr_err ("Could not scan NAND flash: %d\n" , err); goto exit;
Signature · 1 line
2.6.0.rc2.230.g3dd15c0
Quoted 6 lines · On Fri, 18 Dec 2015 11:38:18 -0800 Brian Norris <[email protected]>…
From: Boris BREZILLON <[email protected]>
struct
nand_chipnow embeds an mtd device. Make use of this mtd instance.Signed-off-by Boris Brezillon <[email protected]>Signed-off-by Brian Norris <[email protected]>
Looks good to me, not we can have both a SoB and an AB tag coming from the same person, but
Quoted 75 lines
---
Rebased Boris's patch to l2-mtd.gitdrivers/mtd/nand/bcm47xxnflash/bcm47xxnflash.h | 1 - drivers/mtd/nand/bcm47xxnflash/main.c | 10 ++++++---- drivers/mtd/nand/bcm47xxnflash/ops_bcm4706.c | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-)drivers/mtd/nand/bcm47xxnflash/bcm47xxnflash.h +0
-1@@ -12,7 +12,6 @@ struct bcm47xxnflash {struct bcma_drv_cc *cc;struct nand_chip nand_chip; -struct mtd_info mtd;unsigned curr_command;int curr_page_addr;drivers/mtd/nand/bcm47xxnflash/main.c +6
-4@@ -27,6 +27,7 @@ static int bcm47xxnflash_probe(struct platform_device *pdev) {struct bcma_nflash *nflash =dev_get_platdata (&pdev->dev);struct bcm47xxnflash *b47n; +struct mtd_info *mtd;int err =0 ; b47n =devm_kzalloc (&pdev->dev,sizeof (*b47n),GFP_KERNEL );@@ -34,8 +35,9 @@ static int bcm47xxnflash_probe(struct platform_device *pdev)return -ENOMEM ; b47n->nand_chip.priv = b47n; - b47n->mtd.dev.parent = &pdev->dev; - b47n->mtd.priv = &b47n->nand_chip;/* Required */ + mtd =nand_to_mtd (&b47n->nand_chip); + mtd->dev.parent = &pdev->dev; + mtd->priv = &b47n->nand_chip;/* Required */ b47n->cc = container_of(nflash, struct bcma_drv_cc, nflash);if (b47n->cc->core->bus->chipinfo.id ==BCMA_CHIP_ID_BCM4706 ) {@@ -51,7 +53,7 @@ static int bcm47xxnflash_probe(struct platform_device *pdev)platform_set_drvdata (pdev, b47n); - err =mtd_device_parse_register (&b47n->mtd, probes,NULL ,NULL ,0 ); + err =mtd_device_parse_register (mtd, probes,NULL ,NULL ,0 );if (err) {pr_err ("Failed to register MTD device: %d\n" , err);return err;@@ -64,7 +66,7 @@ static int bcm47xxnflash_remove(struct platform_device *pdev) {struct bcm47xxnflash *nflash =platform_get_drvdata (pdev); -nand_release (&nflash->mtd); +nand_release (nand_to_mtd (&nflash->nand_chip));return 0 ; }drivers/mtd/nand/bcm47xxnflash/ops_bcm4706.c +1
-1@@ -421,7 +421,7 @@ int bcm47xxnflash_ops_bcm4706_init(struct bcm47xxnflash *b47n) (w4 << 24 | w3 << 18 | w2 << 12 | w1 << 6 | w0));/* Scan NAND */ - err =nand_scan (&b47n->mtd,1 ); + err =nand_scan (nand_to_mtd (&b47n->nand_chip),1 );if (err) {pr_err ("Could not scan NAND flash: %d\n" , err); goto exit;
Signature · 3 lines
Boris Brezillon, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
Quoted 7 lines · Boris Brezillon
Quoted 4 lines · On Fri, 18 Dec 2015 11:38:18 -0800 Brian Norris <[email protected]>…
From: Boris BREZILLON <[email protected]>
struct
nand_chipnow embeds an mtd device. Make use of this mtd instance.
Quoted 7 lines
Quoted 2 lines
Signed-off-by Boris Brezillon <[email protected]>Signed-off-by Brian Norris <[email protected]>Looks good to me, not we can have both a SoB and an AB tag coming from the same person, but
Acked-by Boris Brezillon <[email protected]>
Good point. I guess the ack can just assure me I didn't screw up your work *too* badly :)
Applied without the duplicate tag