diff options
Diffstat (limited to 'drivers/mtd/maps/bfin-async-flash.c')
| -rw-r--r-- | drivers/mtd/maps/bfin-async-flash.c | 21 | 
1 files changed, 5 insertions, 16 deletions
diff --git a/drivers/mtd/maps/bfin-async-flash.c b/drivers/mtd/maps/bfin-async-flash.c index 85dd18193cf2..d4297a97e100 100644 --- a/drivers/mtd/maps/bfin-async-flash.c +++ b/drivers/mtd/maps/bfin-async-flash.c @@ -41,9 +41,7 @@ struct async_state {  	uint32_t flash_ambctl0, flash_ambctl1;  	uint32_t save_ambctl0, save_ambctl1;  	unsigned long irq_flags; -#ifdef CONFIG_MTD_PARTITIONS  	struct mtd_partition *parts; -#endif  };  static void switch_to_flash(struct async_state *state) @@ -124,9 +122,7 @@ static void bfin_flash_copy_to(struct map_info *map, unsigned long to, const voi  	switch_back(state);  } -#ifdef CONFIG_MTD_PARTITIONS  static const char *part_probe_types[] = { "cmdlinepart", "RedBoot", NULL }; -#endif  static int __devinit bfin_flash_probe(struct platform_device *pdev)  { @@ -169,22 +165,17 @@ static int __devinit bfin_flash_probe(struct platform_device *pdev)  		return -ENXIO;  	} -#ifdef CONFIG_MTD_PARTITIONS  	ret = parse_mtd_partitions(state->mtd, part_probe_types, &pdata->parts, 0);  	if (ret > 0) {  		pr_devinit(KERN_NOTICE DRIVER_NAME ": Using commandline partition definition\n"); -		add_mtd_partitions(state->mtd, pdata->parts, ret); +		mtd_device_register(state->mtd, pdata->parts, ret);  		state->parts = pdata->parts; -  	} else if (pdata->nr_parts) {  		pr_devinit(KERN_NOTICE DRIVER_NAME ": Using board partition definition\n"); -		add_mtd_partitions(state->mtd, pdata->parts, pdata->nr_parts); - -	} else -#endif -	{ +		mtd_device_register(state->mtd, pdata->parts, pdata->nr_parts); +	} else {  		pr_devinit(KERN_NOTICE DRIVER_NAME ": no partition info available, registering whole flash at once\n"); -		add_mtd_device(state->mtd); +		mtd_device_register(state->mtd, NULL, 0);  	}  	platform_set_drvdata(pdev, state); @@ -196,10 +187,8 @@ static int __devexit bfin_flash_remove(struct platform_device *pdev)  {  	struct async_state *state = platform_get_drvdata(pdev);  	gpio_free(state->enet_flash_pin); -#ifdef CONFIG_MTD_PARTITIONS -	del_mtd_partitions(state->mtd); +	mtd_device_unregister(state->mtd);  	kfree(state->parts); -#endif  	map_destroy(state->mtd);  	kfree(state);  	return 0;  | 
