Explorar el Código

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: Jamie Iles <jamie@jamieiles.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Jamie Iles hace 14 años
padre
commit
fdbf3bf6b8
Se han modificado 2 ficheros con 10 adiciones y 18 borrados
  1. 0 1
      drivers/mtd/maps/Kconfig
  2. 10 17
      drivers/mtd/maps/gpio-addr-flash.c

+ 0 - 1
drivers/mtd/maps/Kconfig

@@ -464,7 +464,6 @@ config MTD_GPIO_ADDR
 	tristate "GPIO-assisted Flash Chip Support"
 	tristate "GPIO-assisted Flash Chip Support"
 	depends on GENERIC_GPIO || GPIOLIB
 	depends on GENERIC_GPIO || GPIOLIB
 	depends on MTD_COMPLEX_MAPPINGS
 	depends on MTD_COMPLEX_MAPPINGS
-	select MTD_PARTITIONS
 	help
 	help
 	  Map driver which allows flashes to be partially physically addressed
 	  Map driver which allows flashes to be partially physically addressed
 	  and assisted by GPIOs.
 	  and assisted by GPIOs.

+ 10 - 17
drivers/mtd/maps/gpio-addr-flash.c

@@ -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);
 	memcpy_toio(map->virt + (to % state->win_size), from, len);
 }
 }
 
 
-#ifdef CONFIG_MTD_PARTITIONS
 static const char *part_probe_types[] = { "cmdlinepart", "RedBoot", NULL };
 static const char *part_probe_types[] = { "cmdlinepart", "RedBoot", NULL };
-#endif
 
 
 /**
 /**
  * gpio_flash_probe() - setup a mapping for a GPIO assisted flash
  * 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)
 static int __devinit gpio_flash_probe(struct platform_device *pdev)
 {
 {
-	int ret;
+	int nr_parts;
 	size_t i, arr_size;
 	size_t i, arr_size;
 	struct physmap_flash_data *pdata;
 	struct physmap_flash_data *pdata;
 	struct resource *memory;
 	struct resource *memory;
@@ -254,24 +252,21 @@ static int __devinit gpio_flash_probe(struct platform_device *pdev)
 		return -ENXIO;
 		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");
 		pr_devinit(KERN_NOTICE PFX "Using commandline partition definition\n");
-		add_mtd_partitions(state->mtd, pdata->parts, ret);
 		kfree(pdata->parts);
 		kfree(pdata->parts);
-
 	} else if (pdata->nr_parts) {
 	} else if (pdata->nr_parts) {
 		pr_devinit(KERN_NOTICE PFX "Using board partition definition\n");
 		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");
 		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;
 	return 0;
 }
 }
 
 
@@ -282,9 +277,7 @@ static int __devexit gpio_flash_remove(struct platform_device *pdev)
 	do {
 	do {
 		gpio_free(state->gpio_addrs[i]);
 		gpio_free(state->gpio_addrs[i]);
 	} while (++i < state->gpio_count);
 	} while (++i < state->gpio_count);
-#ifdef CONFIG_MTD_PARTITIONS
-	del_mtd_partitions(state->mtd);
-#endif
+	mtd_device_unregister(state->mtd);
 	map_destroy(state->mtd);
 	map_destroy(state->mtd);
 	kfree(state);
 	kfree(state);
 	return 0;
 	return 0;