mtd: remove driver-core BUS_ID_SIZE

Atsushi Nemoto anemo at mba.ocn.ne.jp
Tue Jun 2 11:09:39 EDT 2009


On Fri, 29 May 2009 14:33:41 +0100, David Woodhouse <dwmw2 at infradead.org> wrote:
> > > This might work better. Nemoto-san, can you test and confirm?
...
> > kasprintf() might be nicer here?
> 
> True; thanks. (Er, how have I managed not to know that asprintf()
> exists, for the last 20-odd years?)
> 
> diff --git a/drivers/mtd/nand/txx9ndfmc.c b/drivers/mtd/nand/txx9ndfmc.c
> index 8124792..5f919e6 100644

Your latest patch with slight fix works fine.

Here is diff against your patch.  Please fold into it.  Thanks.

diff --git a/drivers/mtd/nand/txx9ndfmc.c b/drivers/mtd/nand/txx9ndfmc.c
index 5f919e6..fa0458e 100644
--- a/drivers/mtd/nand/txx9ndfmc.c
+++ b/drivers/mtd/nand/txx9ndfmc.c
@@ -344,12 +344,13 @@ static int __init txx9ndfmc_probe(struct platform_device *dev)
 			}
 		} else {
 			txx9_priv->cs = -1;
-			txx9_priv->mtdname = dev_name(&dev->dev);
+			txx9_priv->mtdname = kstrdup(dev_name(&dev->dev));
 		}
 		if (plat->wide_mask & (1 << i))
 			chip->options |= NAND_BUSWIDTH_16;
 
 		if (nand_scan(mtd, 1)) {
+			kfree(txx9_priv->mtdname)
 			kfree(txx9_priv);
 			continue;
 		}
@@ -391,8 +392,7 @@ static int __exit txx9ndfmc_remove(struct platform_device *dev)
 		kfree(drvdata->parts[i]);
 #endif
 		del_mtd_device(mtd);
-		if (txx9_priv->mtdname != dev_name(&dev->dev))
-			kfree(txx9_priv->mtdname);
+		kfree(txx9_priv->mtdname);
 		kfree(txx9_priv);
 	}
 	return 0;

---
Atsushi Nemoto



More information about the linux-mtd mailing list