diff options
Diffstat (limited to 'drivers/mtd/maps/ipaq-flash.c')
| -rw-r--r-- | drivers/mtd/maps/ipaq-flash.c | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/drivers/mtd/maps/ipaq-flash.c b/drivers/mtd/maps/ipaq-flash.c index 70b0e0b82c34..35097c9bbf50 100644 --- a/drivers/mtd/maps/ipaq-flash.c +++ b/drivers/mtd/maps/ipaq-flash.c | |||
| @@ -1,11 +1,11 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Flash memory access on iPAQ Handhelds (either SA1100 or PXA250 based) | 2 | * Flash memory access on iPAQ Handhelds (either SA1100 or PXA250 based) |
| 3 | * | 3 | * |
| 4 | * (C) 2000 Nicolas Pitre <nico@cam.org> | 4 | * (C) 2000 Nicolas Pitre <nico@cam.org> |
| 5 | * (C) 2002 Hewlett-Packard Company <jamey.hicks@hp.com> | 5 | * (C) 2002 Hewlett-Packard Company <jamey.hicks@hp.com> |
| 6 | * (C) 2003 Christian Pellegrin <chri@ascensit.com>, <chri@infis.univ.ts.it>: concatenation of multiple flashes | 6 | * (C) 2003 Christian Pellegrin <chri@ascensit.com>, <chri@infis.univ.ts.it>: concatenation of multiple flashes |
| 7 | * | 7 | * |
| 8 | * $Id: ipaq-flash.c,v 1.3 2004/11/04 13:24:15 gleixner Exp $ | 8 | * $Id: ipaq-flash.c,v 1.5 2005/11/07 11:14:27 gleixner Exp $ |
| 9 | */ | 9 | */ |
| 10 | 10 | ||
| 11 | #include <linux/config.h> | 11 | #include <linux/config.h> |
| @@ -107,7 +107,7 @@ static struct mtd_partition h3xxx_partitions[] = { | |||
| 107 | #ifndef CONFIG_LAB | 107 | #ifndef CONFIG_LAB |
| 108 | mask_flags: MTD_WRITEABLE, /* force read-only */ | 108 | mask_flags: MTD_WRITEABLE, /* force read-only */ |
| 109 | #endif | 109 | #endif |
| 110 | }, | 110 | }, |
| 111 | { | 111 | { |
| 112 | name: "H3XXX root jffs2", | 112 | name: "H3XXX root jffs2", |
| 113 | #ifndef CONFIG_LAB | 113 | #ifndef CONFIG_LAB |
| @@ -148,7 +148,7 @@ static DEFINE_SPINLOCK(ipaq_vpp_lock); | |||
| 148 | static void h3xxx_set_vpp(struct map_info *map, int vpp) | 148 | static void h3xxx_set_vpp(struct map_info *map, int vpp) |
| 149 | { | 149 | { |
| 150 | static int nest = 0; | 150 | static int nest = 0; |
| 151 | 151 | ||
| 152 | spin_lock(&ipaq_vpp_lock); | 152 | spin_lock(&ipaq_vpp_lock); |
| 153 | if (vpp) | 153 | if (vpp) |
| 154 | nest++; | 154 | nest++; |
| @@ -191,7 +191,7 @@ static unsigned long cs_phys[] = { | |||
| 191 | SA1100_CS3_PHYS, | 191 | SA1100_CS3_PHYS, |
| 192 | SA1100_CS4_PHYS, | 192 | SA1100_CS4_PHYS, |
| 193 | SA1100_CS5_PHYS, | 193 | SA1100_CS5_PHYS, |
| 194 | #else | 194 | #else |
| 195 | PXA_CS0_PHYS, | 195 | PXA_CS0_PHYS, |
| 196 | PXA_CS1_PHYS, | 196 | PXA_CS1_PHYS, |
| 197 | PXA_CS2_PHYS, | 197 | PXA_CS2_PHYS, |
| @@ -216,7 +216,7 @@ int __init ipaq_mtd_init(void) | |||
| 216 | 216 | ||
| 217 | /* Default flash bankwidth */ | 217 | /* Default flash bankwidth */ |
| 218 | // ipaq_map.bankwidth = (MSC0 & MSC_RBW) ? 2 : 4; | 218 | // ipaq_map.bankwidth = (MSC0 & MSC_RBW) ? 2 : 4; |
| 219 | 219 | ||
| 220 | if (machine_is_h1900()) | 220 | if (machine_is_h1900()) |
| 221 | { | 221 | { |
| 222 | /* For our intents, the h1900 is not a real iPAQ, so we special-case it. */ | 222 | /* For our intents, the h1900 is not a real iPAQ, so we special-case it. */ |
| @@ -229,7 +229,7 @@ int __init ipaq_mtd_init(void) | |||
| 229 | else | 229 | else |
| 230 | for(i=0; i<MAX_IPAQ_CS; i++) | 230 | for(i=0; i<MAX_IPAQ_CS; i++) |
| 231 | ipaq_map[i].bankwidth = 4; | 231 | ipaq_map[i].bankwidth = 4; |
| 232 | 232 | ||
| 233 | /* | 233 | /* |
| 234 | * Static partition definition selection | 234 | * Static partition definition selection |
| 235 | */ | 235 | */ |
| @@ -309,7 +309,7 @@ int __init ipaq_mtd_init(void) | |||
| 309 | return -ENXIO; | 309 | return -ENXIO; |
| 310 | } else | 310 | } else |
| 311 | printk(KERN_NOTICE "iPAQ flash: found %d bytes\n", my_sub_mtd[i]->size); | 311 | printk(KERN_NOTICE "iPAQ flash: found %d bytes\n", my_sub_mtd[i]->size); |
| 312 | 312 | ||
| 313 | /* do we really need this debugging? --joshua 20030703 */ | 313 | /* do we really need this debugging? --joshua 20030703 */ |
| 314 | // printk("my_sub_mtd[%d]=%p\n", i, my_sub_mtd[i]); | 314 | // printk("my_sub_mtd[%d]=%p\n", i, my_sub_mtd[i]); |
| 315 | my_sub_mtd[i]->owner = THIS_MODULE; | 315 | my_sub_mtd[i]->owner = THIS_MODULE; |
| @@ -333,11 +333,11 @@ int __init ipaq_mtd_init(void) | |||
| 333 | #else | 333 | #else |
| 334 | mymtd = my_sub_mtd[0]; | 334 | mymtd = my_sub_mtd[0]; |
| 335 | 335 | ||
| 336 | /* | 336 | /* |
| 337 | *In the very near future, command line partition parsing | 337 | *In the very near future, command line partition parsing |
| 338 | * will use the device name as 'mtd-id' instead of a value | 338 | * will use the device name as 'mtd-id' instead of a value |
| 339 | * passed to the parse_cmdline_partitions() routine. Since | 339 | * passed to the parse_cmdline_partitions() routine. Since |
| 340 | * the bootldr says 'ipaq', make sure it continues to work. | 340 | * the bootldr says 'ipaq', make sure it continues to work. |
| 341 | */ | 341 | */ |
| 342 | mymtd->name = "ipaq"; | 342 | mymtd->name = "ipaq"; |
| 343 | 343 | ||
| @@ -385,7 +385,7 @@ int __init ipaq_mtd_init(void) | |||
| 385 | */ | 385 | */ |
| 386 | 386 | ||
| 387 | i = parse_mtd_partitions(mymtd, part_probes, &parsed_parts, 0); | 387 | i = parse_mtd_partitions(mymtd, part_probes, &parsed_parts, 0); |
| 388 | 388 | ||
| 389 | if (i > 0) { | 389 | if (i > 0) { |
| 390 | nb_parts = parsed_nr_parts = i; | 390 | nb_parts = parsed_nr_parts = i; |
| 391 | parts = parsed_parts; | 391 | parts = parsed_parts; |
| @@ -423,10 +423,10 @@ static void __exit ipaq_mtd_cleanup(void) | |||
| 423 | #endif | 423 | #endif |
| 424 | map_destroy(mymtd); | 424 | map_destroy(mymtd); |
| 425 | #ifdef CONFIG_MTD_CONCAT | 425 | #ifdef CONFIG_MTD_CONCAT |
| 426 | for(i=0; i<MAX_IPAQ_CS; i++) | 426 | for(i=0; i<MAX_IPAQ_CS; i++) |
| 427 | #else | 427 | #else |
| 428 | for(i=1; i<MAX_IPAQ_CS; i++) | 428 | for(i=1; i<MAX_IPAQ_CS; i++) |
| 429 | #endif | 429 | #endif |
| 430 | { | 430 | { |
| 431 | if (my_sub_mtd[i]) | 431 | if (my_sub_mtd[i]) |
| 432 | map_destroy(my_sub_mtd[i]); | 432 | map_destroy(my_sub_mtd[i]); |
| @@ -444,14 +444,14 @@ static int __init h1900_special_case(void) | |||
| 444 | ipaq_map[0].phys = 0x0; | 444 | ipaq_map[0].phys = 0x0; |
| 445 | ipaq_map[0].virt = __ioremap(0x0, 0x04000000, 0, 1); | 445 | ipaq_map[0].virt = __ioremap(0x0, 0x04000000, 0, 1); |
| 446 | ipaq_map[0].bankwidth = 2; | 446 | ipaq_map[0].bankwidth = 2; |
| 447 | 447 | ||
| 448 | printk(KERN_NOTICE "iPAQ flash: probing %d-bit flash bus, window=%lx with JEDEC.\n", ipaq_map[0].bankwidth*8, ipaq_map[0].virt); | 448 | printk(KERN_NOTICE "iPAQ flash: probing %d-bit flash bus, window=%lx with JEDEC.\n", ipaq_map[0].bankwidth*8, ipaq_map[0].virt); |
| 449 | mymtd = do_map_probe("jedec_probe", &ipaq_map[0]); | 449 | mymtd = do_map_probe("jedec_probe", &ipaq_map[0]); |
| 450 | if (!mymtd) | 450 | if (!mymtd) |
| 451 | return -ENODEV; | 451 | return -ENODEV; |
| 452 | add_mtd_device(mymtd); | 452 | add_mtd_device(mymtd); |
| 453 | printk(KERN_NOTICE "iPAQ flash: registered h1910 flash\n"); | 453 | printk(KERN_NOTICE "iPAQ flash: registered h1910 flash\n"); |
| 454 | 454 | ||
| 455 | return 0; | 455 | return 0; |
| 456 | } | 456 | } |
| 457 | 457 | ||
