Commit cd3aafd0 authored by Dmitry Baryshkov's avatar Dmitry Baryshkov Committed by Artem Bityutskiy
Browse files

mtd: bfin-async-flash.c: use mtd_device_parse_register



Replace custom invocations of parse_mtd_partitions and mtd_device_register
with common mtd_device_parse_register call. This would bring: standard
handling of all errors, fallback to default partitions, etc.

Signed-off-by: default avatarDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: default avatarArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
parent 81939afc
Loading
Loading
Loading
Loading
+2 −14
Original line number Diff line number Diff line
@@ -41,7 +41,6 @@ struct async_state {
	uint32_t flash_ambctl0, flash_ambctl1;
	uint32_t save_ambctl0, save_ambctl1;
	unsigned long irq_flags;
	struct mtd_partition *parts;
};

static void switch_to_flash(struct async_state *state)
@@ -165,18 +164,8 @@ static int __devinit bfin_flash_probe(struct platform_device *pdev)
		return -ENXIO;
	}

	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");
		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");
		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");
		mtd_device_register(state->mtd, NULL, 0);
	}
	mtd_device_parse_register(state->mtd, part_probe_types, 0,
			pdata->parts, pdata->nr_parts);

	platform_set_drvdata(pdev, state);

@@ -188,7 +177,6 @@ static int __devexit bfin_flash_remove(struct platform_device *pdev)
	struct async_state *state = platform_get_drvdata(pdev);
	gpio_free(state->enet_flash_pin);
	mtd_device_unregister(state->mtd);
	kfree(state->parts);
	map_destroy(state->mtd);
	kfree(state);
	return 0;