diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-11-07 09:11:16 -0800 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-11-07 09:11:16 -0800 | 
| commit | e0d65113a70f1dc514e625cc4e7a7485a4bf72df (patch) | |
| tree | 7320a130dc304623f5cf4b5dd8f67fb1776225ca /drivers/mtd/onenand/omap2.c | |
| parent | cf5e15fbd72c13977720aa15b7b7e00e1d8fd8f2 (diff) | |
| parent | 48e546b7f281f251893baa40769581fd15f085fb (diff) | |
| download | olio-linux-3.10-e0d65113a70f1dc514e625cc4e7a7485a4bf72df.tar.xz olio-linux-3.10-e0d65113a70f1dc514e625cc4e7a7485a4bf72df.zip  | |
Merge git://git.infradead.org/mtd-2.6
* git://git.infradead.org/mtd-2.6: (226 commits)
  mtd: tests: annotate as DANGEROUS in Kconfig
  mtd: tests: don't use mtd0 as a default
  mtd: clean up usage of MTD_DOCPROBE_ADDRESS
  jffs2: add compr=lzo and compr=zlib options
  jffs2: implement mount option parsing and compression overriding
  mtd: nand: initialize ops.mode
  mtd: provide an alias for the redboot module name
  mtd: m25p80: don't probe device which has status of 'disabled'
  mtd: nand_h1900 never worked
  mtd: Add DiskOnChip G3 support
  mtd: m25p80: add EON flash EN25Q32B into spi flash id table
  mtd: mark block device queue as non-rotational
  mtd: r852: make r852_pm_ops static
  mtd: m25p80: add support for at25df321a spi data flash
  mtd: mxc_nand: preset_v1_v2: unlock all NAND flash blocks
  mtd: nand: switch `check_pattern()' to standard `memcmp()'
  mtd: nand: invalidate cache on unaligned reads
  mtd: nand: do not scan bad blocks with NAND_BBT_NO_OOB set
  mtd: nand: wait to set BBT version
  mtd: nand: scrub BBT on ECC errors
  ...
Fix up trivial conflicts:
 - arch/arm/mach-at91/board-usb-a9260.c
	Merged into board-usb-a926x.c
 - drivers/mtd/maps/lantiq-flash.c
	add_mtd_partitions -> mtd_device_register vs changed to use
	mtd_device_parse_register.
Diffstat (limited to 'drivers/mtd/onenand/omap2.c')
| -rw-r--r-- | drivers/mtd/onenand/omap2.c | 16 | 
1 files changed, 4 insertions, 12 deletions
diff --git a/drivers/mtd/onenand/omap2.c b/drivers/mtd/onenand/omap2.c index 6a1d6d9a2df..7e9ea6852b6 100644 --- a/drivers/mtd/onenand/omap2.c +++ b/drivers/mtd/onenand/omap2.c @@ -57,7 +57,6 @@ struct omap2_onenand {  	unsigned long phys_base;  	int gpio_irq;  	struct mtd_info mtd; -	struct mtd_partition *parts;  	struct onenand_chip onenand;  	struct completion irq_done;  	struct completion dma_done; @@ -67,8 +66,6 @@ struct omap2_onenand {  	struct regulator *regulator;  }; -static const char *part_probes[] = { "cmdlinepart", NULL,  }; -  static void omap2_onenand_dma_cb(int lch, u16 ch_status, void *data)  {  	struct omap2_onenand *c = data; @@ -741,6 +738,7 @@ static int __devinit omap2_onenand_probe(struct platform_device *pdev)  		c->regulator = regulator_get(&pdev->dev, "vonenand");  		if (IS_ERR(c->regulator)) {  			dev_err(&pdev->dev,  "Failed to get regulator\n"); +			r = PTR_ERR(c->regulator);  			goto err_release_dma;  		}  		c->onenand.enable = omap2_onenand_enable; @@ -753,13 +751,9 @@ static int __devinit omap2_onenand_probe(struct platform_device *pdev)  	if ((r = onenand_scan(&c->mtd, 1)) < 0)  		goto err_release_regulator; -	r = parse_mtd_partitions(&c->mtd, part_probes, &c->parts, 0); -	if (r > 0) -		r = mtd_device_register(&c->mtd, c->parts, r); -	else if (pdata->parts != NULL) -		r = mtd_device_register(&c->mtd, pdata->parts, pdata->nr_parts); -	else -		r = mtd_device_register(&c->mtd, NULL, 0); +	r = mtd_device_parse_register(&c->mtd, NULL, 0, +			pdata ? pdata->parts : NULL, +			pdata ? pdata->nr_parts : 0);  	if (r)  		goto err_release_onenand; @@ -786,7 +780,6 @@ err_release_mem_region:  err_free_cs:  	gpmc_cs_free(c->gpmc_cs);  err_kfree: -	kfree(c->parts);  	kfree(c);  	return r; @@ -809,7 +802,6 @@ static int __devexit omap2_onenand_remove(struct platform_device *pdev)  	iounmap(c->onenand.base);  	release_mem_region(c->phys_base, ONENAND_IO_SIZE);  	gpmc_cs_free(c->gpmc_cs); -	kfree(c->parts);  	kfree(c);  	return 0;  |