Title: [4165] trunk:
add support for cmdline partitioning to the BF533-STAMP flash map driver and enable it as a module by default
- Revision
- 4165
- Author
- vapier
- Date
- 2008-01-29 09:23:28 -0600 (Tue, 29 Jan 2008)
Log Message
add support for cmdline partitioning to the BF533-STAMP flash map driver and enable it as a module by default
Diffstat
arch/blackfin/configs/BF533-STAMP_defconfig | 16 ++++++++++------
drivers/mtd/maps/bf5xx-flash.c | 20 ++++++++++++++++++--
2 files changed, 28 insertions(+), 8 deletions(-)
Modified Paths
Diff
Modified: trunk/arch/blackfin/configs/BF533-STAMP_defconfig (4164 => 4165)
--- trunk/arch/blackfin/configs/BF533-STAMP_defconfig 2008-01-29 13:28:33 UTC (rev 4164)
+++ trunk/arch/blackfin/configs/BF533-STAMP_defconfig 2008-01-29 15:23:28 UTC (rev 4165)
@@ -216,8 +216,6 @@
CONFIG_MEM_ADD_WIDTH=11
CONFIG_ENET_FLASH_PIN=0
CONFIG_BOOT_LOAD=0x1000
-
-
CONFIG_BFIN_SCRATCH_REG_RETN=y
# CONFIG_BFIN_SCRATCH_REG_RETE is not set
# CONFIG_BFIN_SCRATCH_REG_CYCLES is not set
@@ -483,7 +481,7 @@
# CONFIG_MTD_CONCAT is not set
CONFIG_MTD_PARTITIONS=y
# CONFIG_MTD_REDBOOT_PARTS is not set
-# CONFIG_MTD_CMDLINE_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
#
# User Modules And Translation Layers
@@ -500,8 +498,8 @@
#
# RAM/ROM/Flash chip drivers
#
-# CONFIG_MTD_CFI is not set
-CONFIG_MTD_JEDECPROBE=m
+CONFIG_MTD_CFI=m
+# CONFIG_MTD_JEDECPROBE is not set
CONFIG_MTD_GEN_PROBE=m
# CONFIG_MTD_CFI_ADV_OPTIONS is not set
CONFIG_MTD_MAP_BANK_WIDTH_1=y
@@ -515,8 +513,9 @@
# CONFIG_MTD_CFI_I4 is not set
# CONFIG_MTD_CFI_I8 is not set
# CONFIG_MTD_CFI_INTELEXT is not set
-# CONFIG_MTD_CFI_AMDSTD is not set
+CONFIG_MTD_CFI_AMDSTD=m
# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=m
CONFIG_MTD_RAM=y
CONFIG_MTD_ROM=m
# CONFIG_MTD_ABSENT is not set
@@ -526,6 +525,11 @@
#
CONFIG_MTD_COMPLEX_MAPPINGS=y
# CONFIG_MTD_PHYSMAP is not set
+CONFIG_MTD_BF5xx=m
+CONFIG_BFIN_FLASH_BANK_0=0x7BB0
+CONFIG_BFIN_FLASH_BANK_1=0x7BB0
+CONFIG_BFIN_FLASH_BANK_2=0x7BB0
+CONFIG_BFIN_FLASH_BANK_3=0x7BB0
# CONFIG_MTD_UCLINUX is not set
# CONFIG_MTD_PLATRAM is not set
Modified: trunk/drivers/mtd/maps/bf5xx-flash.c (4164 => 4165)
--- trunk/drivers/mtd/maps/bf5xx-flash.c 2008-01-29 13:28:33 UTC (rev 4164)
+++ trunk/drivers/mtd/maps/bf5xx-flash.c 2008-01-29 15:23:28 UTC (rev 4165)
@@ -145,8 +145,13 @@
.copy_to = bf5xx_copy_to,
};
+#ifdef CONFIG_MTD_PARTITIONS
+static const char *part_probe_types[] = { "cmdlinepart", "RedBoot", NULL };
+#endif
+
static int __init bf5xx_flash_probe(struct platform_device *dev)
{
+ int ret;
struct physmap_flash_data *pdata = dev->dev.platform_data;
struct resource *memory = platform_get_resource(dev, IORESOURCE_MEM, 0);
@@ -168,10 +173,19 @@
if (!bf5xx_mtd)
return -ENXIO;
- if (pdata->nr_parts) {
+#ifdef CONFIG_MTD_PARTITIONS
+ ret = parse_mtd_partitions(bf5xx_mtd, part_probe_types, &pdata->parts, 0);
+ if (ret > 0) {
+ pr_init(KERN_NOTICE DRIVER_NAME ": Using commandline partition definition\n");
+ add_mtd_partitions(bf5xx_mtd, pdata->parts, ret);
+
+ } else if (pdata->nr_parts) {
pr_init(KERN_NOTICE DRIVER_NAME ": Using board partition definition\n");
add_mtd_partitions(bf5xx_mtd, pdata->parts, pdata->nr_parts);
- } else {
+
+ } else
+#endif
+ {
pr_init(KERN_NOTICE DRIVER_NAME ": no partition info available, registering whole flash at once\n");
add_mtd_device(bf5xx_mtd);
}
@@ -182,7 +196,9 @@
static int __devexit bf5xx_flash_remove(struct platform_device *dev)
{
gpio_free(enet_flash_pin);
+#ifdef CONFIG_MTD_PARTITIONS
del_mtd_partitions(bf5xx_mtd);
+#endif
map_destroy(bf5xx_mtd);
return 0;
}
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
http://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits