Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fdbf3bf6 authored by Jamie Iles's avatar Jamie Iles Committed by David Woodhouse
Browse files

mtd: gpio-addr-flash: convert to mtd_device_register()



Convert to mtd_device_register() and remove the CONFIG_MTD_PARTITIONS
preprocessor conditionals as partitioning is always available.

Signed-off-by: default avatarJamie Iles <jamie@jamieiles.com>
Signed-off-by: default avatarArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
parent 5af3aa24
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -464,7 +464,6 @@ config MTD_GPIO_ADDR
	tristate "GPIO-assisted Flash Chip Support"
	depends on GENERIC_GPIO || GPIOLIB
	depends on MTD_COMPLEX_MAPPINGS
	select MTD_PARTITIONS
	help
	  Map driver which allows flashes to be partially physically addressed
	  and assisted by GPIOs.
+10 −17
Original line number Diff line number Diff line
@@ -155,9 +155,7 @@ static void gf_copy_to(struct map_info *map, unsigned long to, const void *from,
	memcpy_toio(map->virt + (to % state->win_size), from, len);
}

#ifdef CONFIG_MTD_PARTITIONS
static const char *part_probe_types[] = { "cmdlinepart", "RedBoot", NULL };
#endif

/**
 * gpio_flash_probe() - setup a mapping for a GPIO assisted flash
@@ -189,7 +187,7 @@ static const char *part_probe_types[] = { "cmdlinepart", "RedBoot", NULL };
 */
static int __devinit gpio_flash_probe(struct platform_device *pdev)
{
	int ret;
	int nr_parts;
	size_t i, arr_size;
	struct physmap_flash_data *pdata;
	struct resource *memory;
@@ -254,24 +252,21 @@ static int __devinit gpio_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) {
	nr_parts = parse_mtd_partitions(state->mtd, part_probe_types,
					&pdata->parts, 0);
	if (nr_parts > 0) {
		pr_devinit(KERN_NOTICE PFX "Using commandline partition definition\n");
		add_mtd_partitions(state->mtd, pdata->parts, ret);
		kfree(pdata->parts);

	} else if (pdata->nr_parts) {
		pr_devinit(KERN_NOTICE PFX "Using board partition definition\n");
		add_mtd_partitions(state->mtd, pdata->parts, pdata->nr_parts);

	} else
#endif
	{
		nr_parts = pdata->nr_parts;
	} else {
		pr_devinit(KERN_NOTICE PFX "no partition info available, registering whole flash at once\n");
		add_mtd_device(state->mtd);
		nr_parts = 0;
	}

	mtd_device_register(state->mtd, pdata->parts, nr_parts);

	return 0;
}

@@ -282,9 +277,7 @@ static int __devexit gpio_flash_remove(struct platform_device *pdev)
	do {
		gpio_free(state->gpio_addrs[i]);
	} while (++i < state->gpio_count);
#ifdef CONFIG_MTD_PARTITIONS
	del_mtd_partitions(state->mtd);
#endif
	mtd_device_unregister(state->mtd);
	map_destroy(state->mtd);
	kfree(state);
	return 0;