[MTD] support driver model updates
authorDavid Brownell <dbrownell@users.sourceforge.net>
Thu, 26 Mar 2009 07:42:50 +0000 (00:42 -0700)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Sat, 4 Apr 2009 13:32:59 +0000 (14:32 +0100)
Follow-on patch to the previous driver model patch for the MTD
framework.  This one makes various MTD drivers connect to the
driver model tree, so /sys/devices/virtual/mtd/* nodes are no
longer present ... mostly drivers used on boards I have handy.

Based on a patch from Kay Sievers.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
drivers/mtd/devices/m25p80.c
drivers/mtd/devices/mtd_dataflash.c
drivers/mtd/maps/omap_nor.c
drivers/mtd/maps/physmap.c
drivers/mtd/maps/plat-ram.c
drivers/mtd/nand/davinci_nand.c
drivers/mtd/nand/mxc_nand.c
drivers/mtd/onenand/omap2.c

index 98b0faf..8185b1f 100644 (file)
@@ -672,6 +672,8 @@ static int __devinit m25p_probe(struct spi_device *spi)
                flash->mtd.erasesize = info->sector_size;
        }
 
+       flash->mtd.dev.parent = &spi->dev;
+
        dev_info(&spi->dev, "%s (%lld Kbytes)\n", info->name,
                        (long long)flash->mtd.size >> 10);
 
index d95f74a..62dee54 100644 (file)
@@ -664,6 +664,8 @@ add_dataflash_otp(struct spi_device *spi, char *name,
        device->write = dataflash_write;
        device->priv = priv;
 
+       device->dev.parent = &spi->dev;
+
        if (revision >= 'c')
                otp_tag = otp_setup(device, revision);
 
index 7e50e9b..a244781 100644 (file)
@@ -115,6 +115,8 @@ static int __init omapflash_probe(struct platform_device *pdev)
        }
        info->mtd->owner = THIS_MODULE;
 
+       info->mtd->dev.parent = &pdev->dev;
+
 #ifdef CONFIG_MTD_PARTITIONS
        err = parse_mtd_partitions(info->mtd, part_probes, &info->parts, 0);
        if (err > 0)
index 2297182..29a9011 100644 (file)
@@ -147,6 +147,7 @@ static int physmap_flash_probe(struct platform_device *dev)
                        devices_found++;
                }
                info->mtd[i]->owner = THIS_MODULE;
+               info->mtd[i]->dev.parent = &dev->dev;
        }
 
        if (devices_found == 1) {
index e7dd9c8..49c9ece 100644 (file)
@@ -224,6 +224,7 @@ static int platram_probe(struct platform_device *pdev)
        }
 
        info->mtd->owner = THIS_MODULE;
+       info->mtd->dev.parent = &pdev->dev;
 
        platram_setrw(info, PLATRAM_RW);
 
index 81f7ecd..0119220 100644 (file)
@@ -343,6 +343,8 @@ static int __init nand_davinci_probe(struct platform_device *pdev)
        info->mtd.name          = dev_name(&pdev->dev);
        info->mtd.owner         = THIS_MODULE;
 
+       info->mtd.dev.parent    = &pdev->dev;
+
        info->chip.IO_ADDR_R    = vaddr;
        info->chip.IO_ADDR_W    = vaddr;
        info->chip.chip_delay   = 0;
index 21fd4f1..bfde74a 100644 (file)
@@ -866,6 +866,7 @@ static int __init mxcnd_probe(struct platform_device *pdev)
        mtd = &host->mtd;
        mtd->priv = this;
        mtd->owner = THIS_MODULE;
+       mtd->dev.parent = &pdev->dev;
 
        /* 50 us command delay time */
        this->chip_delay = 5;
index 2c199b3..f2e9de1 100644 (file)
@@ -676,6 +676,8 @@ static int __devinit omap2_onenand_probe(struct platform_device *pdev)
        c->mtd.priv = &c->onenand;
        c->mtd.owner = THIS_MODULE;
 
+       c->mtd.dev.parent = &pdev->dev;
+
        if (c->dma_channel >= 0) {
                struct onenand_chip *this = &c->onenand;