mtd: nand: pxa3xx: Fix registered MTD name

Linux-MTD Mailing List linux-mtd at lists.infradead.org
Thu Oct 24 18:59:01 EDT 2013


Gitweb:     http://git.infradead.org/?p=mtd-2.6.git;a=commit;h=18a84e935ef3b283e86426827a2a1d524bb7eb8e
Commit:     18a84e935ef3b283e86426827a2a1d524bb7eb8e
Parent:     b291a22952e74bb2fcf9c57c6d8bae52a4f197e2
Author:     Ezequiel Garcia <ezequiel.garcia at free-electrons.com>
AuthorDate: Sat Oct 19 18:19:25 2013 -0300
Committer:  Brian Norris <computersforpeace at gmail.com>
CommitDate: Thu Oct 24 14:44:28 2013 -0700

    mtd: nand: pxa3xx: Fix registered MTD name
    
    In a recent commit:
    
      commit f455578dd961087a5cf94730d9f6489bb1d355f0
      Author: Ezequiel Garcia <ezequiel.garcia at free-electrons.com>
      Date:   Mon Aug 12 14:14:53 2013 -0300
    
      mtd: nand: pxa3xx: Remove hardcoded mtd name
    
      There's no advantage in using a hardcoded name for the mtd device.
      Instead use the provided by the platform_device.
    
    The MTD name was changed to use the one provided by the platform_device.
    However, this can be problematic as some users want to set partitions
    using the kernel parameter 'mtdparts', where the name is needed.
    
    Therefore, to avoid regressions in users relying in 'mtdparts' we revert
    the change and use the previous one 'pxa3xx_nand-0'.
    
    While at it, let's put a big comment and prevent this change from happening
    ever again.
    
    Signed-off-by: Ezequiel Garcia <ezequiel.garcia at free-electrons.com>
    Signed-off-by: Brian Norris <computersforpeace at gmail.com>
---
 drivers/mtd/nand/pxa3xx_nand.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c
index dd03dfd..c28d4e2 100644
--- a/drivers/mtd/nand/pxa3xx_nand.c
+++ b/drivers/mtd/nand/pxa3xx_nand.c
@@ -1320,7 +1320,12 @@ static int pxa3xx_nand_probe(struct platform_device *pdev)
 	for (cs = 0; cs < pdata->num_cs; cs++) {
 		struct mtd_info *mtd = info->host[cs]->mtd;
 
-		mtd->name = pdev->name;
+		/*
+		 * The mtd name matches the one used in 'mtdparts' kernel
+		 * parameter. This name cannot be changed or otherwise
+		 * user's mtd partitions configuration would get broken.
+		 */
+		mtd->name = "pxa3xx_nand-0";
 		info->cs = cs;
 		ret = pxa3xx_nand_scan(mtd);
 		if (ret) {



More information about the linux-mtd-cvs mailing list