X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fmtd%2Fmaps%2Fredwood.c;h=4d858b3d5f826f368872d5317ecc4e9388c91a7c;hb=97bf2856c6014879bd04983a3e9dfcdac1e7fe85;hp=4ece1c883b72d37b2a5e5ab9c38b8e65ae11dc8c;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/drivers/mtd/maps/redwood.c b/drivers/mtd/maps/redwood.c index 4ece1c883..4d858b3d5 100644 --- a/drivers/mtd/maps/redwood.c +++ b/drivers/mtd/maps/redwood.c @@ -1,20 +1,18 @@ /* - * $Id: redwood.c,v 1.6 2003/05/21 12:45:19 dwmw2 Exp $ + * $Id: redwood.c,v 1.11 2005/11/07 11:14:28 gleixner Exp $ * * drivers/mtd/maps/redwood.c * * FLASH map for the IBM Redwood 4/5/6 boards. * + * Author: MontaVista Software, Inc. * - * Author: Armin Kuster - * - * 2001-2002 (c) MontaVista, Software, Inc. This file is licensed under + * 2001-2003 (c) MontaVista, Software, Inc. This file is licensed under * the terms of the GNU General Public License version 2. This program * is licensed "as is" without any warranty of any kind, whether express * or implied. */ -#include #include #include #include @@ -80,7 +78,7 @@ static struct mtd_partition redwood_flash_partitions[] = { #define RW_PART0_OF 0 #define RW_PART0_SZ 0x400000 /* 4 MiB data */ -#define RW_PART1_OF RW_PART0_OF + RW_PART0_SZ +#define RW_PART1_OF RW_PART0_OF + RW_PART0_SZ #define RW_PART1_SZ 0x10000 /* 64K VPD */ #define RW_PART2_OF RW_PART1_OF + RW_PART1_SZ #define RW_PART2_SZ 0x400000 - (0x10000 + 0x20000) @@ -89,7 +87,7 @@ static struct mtd_partition redwood_flash_partitions[] = { static struct mtd_partition redwood_flash_partitions[] = { { - .name = "Redwood kernel", + .name = "Redwood filesystem", .offset = RW_PART0_OF, .size = RW_PART0_SZ }, @@ -100,7 +98,7 @@ static struct mtd_partition redwood_flash_partitions[] = { .mask_flags = MTD_WRITEABLE /* force read-only */ }, { - .name = "Redwood filesystem", + .name = "Redwood kernel", .offset = RW_PART2_OF, .size = RW_PART2_SZ }, @@ -117,23 +115,23 @@ static struct mtd_partition redwood_flash_partitions[] = { struct map_info redwood_flash_map = { .name = "IBM Redwood", .size = WINDOW_SIZE, - .buswidth = 2, + .bankwidth = 2, .phys = WINDOW_ADDR, }; -#define NUM_REDWOOD_FLASH_PARTITIONS \ - (sizeof(redwood_flash_partitions)/sizeof(redwood_flash_partitions[0])) +#define NUM_REDWOOD_FLASH_PARTITIONS ARRAY_SIZE(redwood_flash_partitions) static struct mtd_info *redwood_mtd; int __init init_redwood_flash(void) { + int err; + printk(KERN_NOTICE "redwood: flash mapping: %x at %x\n", WINDOW_SIZE, WINDOW_ADDR); - redwood_flash_map.virt = - (unsigned long)ioremap(WINDOW_ADDR, WINDOW_SIZE); + redwood_flash_map.virt = ioremap(WINDOW_ADDR, WINDOW_SIZE); if (!redwood_flash_map.virt) { printk("init_redwood_flash: failed to ioremap\n"); @@ -145,11 +143,18 @@ int __init init_redwood_flash(void) if (redwood_mtd) { redwood_mtd->owner = THIS_MODULE; - return add_mtd_partitions(redwood_mtd, + err = add_mtd_partitions(redwood_mtd, redwood_flash_partitions, NUM_REDWOOD_FLASH_PARTITIONS); + if (err) { + printk("init_redwood_flash: add_mtd_partitions failed\n"); + iounmap(redwood_flash_map.virt); + } + return err; + } + iounmap(redwood_flash_map.virt); return -ENXIO; } @@ -167,5 +172,5 @@ module_init(init_redwood_flash); module_exit(cleanup_redwood_flash); MODULE_LICENSE("GPL"); -MODULE_AUTHOR("Armin Kuster "); +MODULE_AUTHOR("MontaVista Software "); MODULE_DESCRIPTION("MTD map driver for the IBM Redwood reference boards");