diff options
Diffstat (limited to 'drivers/mtd/maps/solutionengine.c')
| -rw-r--r-- | drivers/mtd/maps/solutionengine.c | 49 | 
1 files changed, 5 insertions, 44 deletions
diff --git a/drivers/mtd/maps/solutionengine.c b/drivers/mtd/maps/solutionengine.c index 0eb41d9c678..bb580bc1644 100644 --- a/drivers/mtd/maps/solutionengine.c +++ b/drivers/mtd/maps/solutionengine.c @@ -19,8 +19,6 @@  static struct mtd_info *flash_mtd;  static struct mtd_info *eprom_mtd; -static struct mtd_partition *parsed_parts; -  struct map_info soleng_eprom_map = {  	.name = "Solution Engine EPROM",  	.size = 0x400000, @@ -33,30 +31,10 @@ struct map_info soleng_flash_map = {  	.bankwidth = 4,  }; -static const char *probes[] = { "RedBoot", "cmdlinepart", NULL }; - -#ifdef CONFIG_MTD_SUPERH_RESERVE -static struct mtd_partition superh_se_partitions[] = { -	/* Reserved for boot code, read-only */ -	{ -		.name = "flash_boot", -		.offset = 0x00000000, -		.size = CONFIG_MTD_SUPERH_RESERVE, -		.mask_flags = MTD_WRITEABLE, -	}, -	/* All else is writable (e.g. JFFS) */ -	{ -		.name = "Flash FS", -		.offset = MTDPART_OFS_NXTBLK, -		.size = MTDPART_SIZ_FULL, -	} -}; -#endif /* CONFIG_MTD_SUPERH_RESERVE */ +static const char * const probes[] = { "RedBoot", "cmdlinepart", NULL };  static int __init init_soleng_maps(void)  { -	int nr_parts = 0; -  	/* First probe at offset 0 */  	soleng_flash_map.phys = 0;  	soleng_flash_map.virt = (void __iomem *)P2SEGADDR(0); @@ -89,24 +67,10 @@ static int __init init_soleng_maps(void)  	eprom_mtd = do_map_probe("map_rom", &soleng_eprom_map);  	if (eprom_mtd) {  		eprom_mtd->owner = THIS_MODULE; -		add_mtd_device(eprom_mtd); -	} - -	nr_parts = parse_mtd_partitions(flash_mtd, probes, &parsed_parts, 0); - -#ifdef CONFIG_MTD_SUPERH_RESERVE -	if (nr_parts <= 0) { -		printk(KERN_NOTICE "Using configured partition at 0x%08x.\n", -		       CONFIG_MTD_SUPERH_RESERVE); -		parsed_parts = superh_se_partitions; -		nr_parts = sizeof(superh_se_partitions)/sizeof(*parsed_parts); +		mtd_device_register(eprom_mtd, NULL, 0);  	} -#endif /* CONFIG_MTD_SUPERH_RESERVE */ -	if (nr_parts > 0) -		add_mtd_partitions(flash_mtd, parsed_parts, nr_parts); -	else -		add_mtd_device(flash_mtd); +	mtd_device_parse_register(flash_mtd, probes, NULL, NULL, 0);  	return 0;  } @@ -114,14 +78,11 @@ static int __init init_soleng_maps(void)  static void __exit cleanup_soleng_maps(void)  {  	if (eprom_mtd) { -		del_mtd_device(eprom_mtd); +		mtd_device_unregister(eprom_mtd);  		map_destroy(eprom_mtd);  	} -	if (parsed_parts) -		del_mtd_partitions(flash_mtd); -	else -		del_mtd_device(flash_mtd); +	mtd_device_unregister(flash_mtd);  	map_destroy(flash_mtd);  }  | 
