diff options
-rw-r--r-- | drivers/mtd/maps/Kconfig | 2 | ||||
-rw-r--r-- | drivers/mtd/maps/pcmciamtd.c | 32 |
2 files changed, 17 insertions, 17 deletions
diff --git a/drivers/mtd/maps/Kconfig b/drivers/mtd/maps/Kconfig index aa2807d0ce72..f22bc9f05ddb 100644 --- a/drivers/mtd/maps/Kconfig +++ b/drivers/mtd/maps/Kconfig | |||
@@ -435,7 +435,7 @@ config MTD_PCI | |||
435 | 435 | ||
436 | config MTD_PCMCIA | 436 | config MTD_PCMCIA |
437 | tristate "PCMCIA MTD driver" | 437 | tristate "PCMCIA MTD driver" |
438 | depends on PCMCIA && MTD_COMPLEX_MAPPINGS && BROKEN | 438 | depends on PCMCIA && MTD_COMPLEX_MAPPINGS |
439 | help | 439 | help |
440 | Map driver for accessing PCMCIA linear flash memory cards. These | 440 | Map driver for accessing PCMCIA linear flash memory cards. These |
441 | cards are usually around 4-16MiB in size. This does not include | 441 | cards are usually around 4-16MiB in size. This does not include |
diff --git a/drivers/mtd/maps/pcmciamtd.c b/drivers/mtd/maps/pcmciamtd.c index 81159d708f86..915b64e23797 100644 --- a/drivers/mtd/maps/pcmciamtd.c +++ b/drivers/mtd/maps/pcmciamtd.c | |||
@@ -137,7 +137,7 @@ static map_word pcmcia_read8_remap(struct map_info *map, unsigned long ofs) | |||
137 | return d; | 137 | return d; |
138 | 138 | ||
139 | d.x[0] = readb(addr); | 139 | d.x[0] = readb(addr); |
140 | DEBUG(3, "ofs = 0x%08lx (%p) data = 0x%02x", ofs, addr, d.x[0]); | 140 | DEBUG(3, "ofs = 0x%08lx (%p) data = 0x%02lx", ofs, addr, d.x[0]); |
141 | return d; | 141 | return d; |
142 | } | 142 | } |
143 | 143 | ||
@@ -152,7 +152,7 @@ static map_word pcmcia_read16_remap(struct map_info *map, unsigned long ofs) | |||
152 | return d; | 152 | return d; |
153 | 153 | ||
154 | d.x[0] = readw(addr); | 154 | d.x[0] = readw(addr); |
155 | DEBUG(3, "ofs = 0x%08lx (%p) data = 0x%04x", ofs, addr, d.x[0]); | 155 | DEBUG(3, "ofs = 0x%08lx (%p) data = 0x%04lx", ofs, addr, d.x[0]); |
156 | return d; | 156 | return d; |
157 | } | 157 | } |
158 | 158 | ||
@@ -190,7 +190,7 @@ static void pcmcia_write8_remap(struct map_info *map, map_word d, unsigned long | |||
190 | if(!addr) | 190 | if(!addr) |
191 | return; | 191 | return; |
192 | 192 | ||
193 | DEBUG(3, "adr = 0x%08lx (%p) data = 0x%02x", adr, addr, d.x[0]); | 193 | DEBUG(3, "adr = 0x%08lx (%p) data = 0x%02lx", adr, addr, d.x[0]); |
194 | writeb(d.x[0], addr); | 194 | writeb(d.x[0], addr); |
195 | } | 195 | } |
196 | 196 | ||
@@ -201,7 +201,7 @@ static void pcmcia_write16_remap(struct map_info *map, map_word d, unsigned long | |||
201 | if(!addr) | 201 | if(!addr) |
202 | return; | 202 | return; |
203 | 203 | ||
204 | DEBUG(3, "adr = 0x%08lx (%p) data = 0x%04x", adr, addr, d.x[0]); | 204 | DEBUG(3, "adr = 0x%08lx (%p) data = 0x%04lx", adr, addr, d.x[0]); |
205 | writew(d.x[0], addr); | 205 | writew(d.x[0], addr); |
206 | } | 206 | } |
207 | 207 | ||
@@ -245,7 +245,7 @@ static map_word pcmcia_read8(struct map_info *map, unsigned long ofs) | |||
245 | return d; | 245 | return d; |
246 | 246 | ||
247 | d.x[0] = readb(win_base + ofs); | 247 | d.x[0] = readb(win_base + ofs); |
248 | DEBUG(3, "ofs = 0x%08lx (%p) data = 0x%02x", ofs, win_base + ofs, d.x[0]); | 248 | DEBUG(3, "ofs = 0x%08lx (%p) data = 0x%02lx", ofs, win_base + ofs, d.x[0]); |
249 | return d; | 249 | return d; |
250 | } | 250 | } |
251 | 251 | ||
@@ -259,7 +259,7 @@ static map_word pcmcia_read16(struct map_info *map, unsigned long ofs) | |||
259 | return d; | 259 | return d; |
260 | 260 | ||
261 | d.x[0] = readw(win_base + ofs); | 261 | d.x[0] = readw(win_base + ofs); |
262 | DEBUG(3, "ofs = 0x%08lx (%p) data = 0x%04x", ofs, win_base + ofs, d.x[0]); | 262 | DEBUG(3, "ofs = 0x%08lx (%p) data = 0x%04lx", ofs, win_base + ofs, d.x[0]); |
263 | return d; | 263 | return d; |
264 | } | 264 | } |
265 | 265 | ||
@@ -276,27 +276,27 @@ static void pcmcia_copy_from(struct map_info *map, void *to, unsigned long from, | |||
276 | } | 276 | } |
277 | 277 | ||
278 | 278 | ||
279 | static void pcmcia_write8(struct map_info *map, u8 d, unsigned long adr) | 279 | static void pcmcia_write8(struct map_info *map, map_word d, unsigned long adr) |
280 | { | 280 | { |
281 | caddr_t win_base = (caddr_t)map->map_priv_2; | 281 | caddr_t win_base = (caddr_t)map->map_priv_2; |
282 | 282 | ||
283 | if(DEV_REMOVED(map)) | 283 | if(DEV_REMOVED(map)) |
284 | return; | 284 | return; |
285 | 285 | ||
286 | DEBUG(3, "adr = 0x%08lx (%p) data = 0x%02x", adr, win_base + adr, d); | 286 | DEBUG(3, "adr = 0x%08lx (%p) data = 0x%02lx", adr, win_base + adr, d.x[0]); |
287 | writeb(d, win_base + adr); | 287 | writeb(d.x[0], win_base + adr); |
288 | } | 288 | } |
289 | 289 | ||
290 | 290 | ||
291 | static void pcmcia_write16(struct map_info *map, u16 d, unsigned long adr) | 291 | static void pcmcia_write16(struct map_info *map, map_word d, unsigned long adr) |
292 | { | 292 | { |
293 | caddr_t win_base = (caddr_t)map->map_priv_2; | 293 | caddr_t win_base = (caddr_t)map->map_priv_2; |
294 | 294 | ||
295 | if(DEV_REMOVED(map)) | 295 | if(DEV_REMOVED(map)) |
296 | return; | 296 | return; |
297 | 297 | ||
298 | DEBUG(3, "adr = 0x%08lx (%p) data = 0x%04x", adr, win_base + adr, d); | 298 | DEBUG(3, "adr = 0x%08lx (%p) data = 0x%04lx", adr, win_base + adr, d.x[0]); |
299 | writew(d, win_base + adr); | 299 | writew(d.x[0], win_base + adr); |
300 | } | 300 | } |
301 | 301 | ||
302 | 302 | ||
@@ -432,7 +432,7 @@ static int pcmciamtd_cistpl_geo(struct pcmcia_device *p_dev, | |||
432 | } | 432 | } |
433 | 433 | ||
434 | 434 | ||
435 | static void card_settings(struct pcmciamtd_dev *dev, struct pcmcia_device *link, int *new_name) | 435 | static void card_settings(struct pcmciamtd_dev *dev, struct pcmcia_device *p_dev, int *new_name) |
436 | { | 436 | { |
437 | int i; | 437 | int i; |
438 | 438 | ||
@@ -490,7 +490,6 @@ static int pcmciamtd_config(struct pcmcia_device *link) | |||
490 | { | 490 | { |
491 | struct pcmciamtd_dev *dev = link->priv; | 491 | struct pcmciamtd_dev *dev = link->priv; |
492 | struct mtd_info *mtd = NULL; | 492 | struct mtd_info *mtd = NULL; |
493 | cs_status_t status; | ||
494 | win_req_t req; | 493 | win_req_t req; |
495 | int ret; | 494 | int ret; |
496 | int i; | 495 | int i; |
@@ -565,7 +564,7 @@ static int pcmciamtd_config(struct pcmcia_device *link) | |||
565 | dev->pcmcia_map.map_priv_1 = (unsigned long)dev; | 564 | dev->pcmcia_map.map_priv_1 = (unsigned long)dev; |
566 | dev->pcmcia_map.map_priv_2 = (unsigned long)link->win; | 565 | dev->pcmcia_map.map_priv_2 = (unsigned long)link->win; |
567 | 566 | ||
568 | dev->vpp = (vpp) ? vpp : link->socket.socket.Vpp; | 567 | dev->vpp = (vpp) ? vpp : link->socket->socket.Vpp; |
569 | link->conf.Attributes = 0; | 568 | link->conf.Attributes = 0; |
570 | if(setvpp == 2) { | 569 | if(setvpp == 2) { |
571 | link->conf.Vpp = dev->vpp; | 570 | link->conf.Vpp = dev->vpp; |
@@ -652,7 +651,6 @@ static int pcmciamtd_config(struct pcmcia_device *link) | |||
652 | link->dev_node = &dev->node; | 651 | link->dev_node = &dev->node; |
653 | return 0; | 652 | return 0; |
654 | 653 | ||
655 | failed: | ||
656 | err("CS Error, exiting"); | 654 | err("CS Error, exiting"); |
657 | pcmciamtd_release(link); | 655 | pcmciamtd_release(link); |
658 | return -ENODEV; | 656 | return -ENODEV; |
@@ -737,8 +735,10 @@ static struct pcmcia_device_id pcmciamtd_ids[] = { | |||
737 | PCMCIA_DEVICE_PROD_ID12("intel", "VALUE SERIES 100 ", 0x40ade711, 0xdf8506d8), | 735 | PCMCIA_DEVICE_PROD_ID12("intel", "VALUE SERIES 100 ", 0x40ade711, 0xdf8506d8), |
738 | PCMCIA_DEVICE_PROD_ID12("KINGMAX TECHNOLOGY INC.", "SRAM 256K Bytes", 0x54d0c69c, 0xad12c29c), | 736 | PCMCIA_DEVICE_PROD_ID12("KINGMAX TECHNOLOGY INC.", "SRAM 256K Bytes", 0x54d0c69c, 0xad12c29c), |
739 | PCMCIA_DEVICE_PROD_ID12("Maxtor", "MAXFL MobileMax Flash Memory Card", 0xb68968c8, 0x2dfb47b0), | 737 | PCMCIA_DEVICE_PROD_ID12("Maxtor", "MAXFL MobileMax Flash Memory Card", 0xb68968c8, 0x2dfb47b0), |
738 | PCMCIA_DEVICE_PROD_ID123("M-Systems", "M-SYS Flash Memory Card", "(c) M-Systems", 0x7ed2ad87, 0x675dc3fb, 0x7aef3965), | ||
740 | PCMCIA_DEVICE_PROD_ID12("SEIKO EPSON", "WWB101EN20", 0xf9876baf, 0xad0b207b), | 739 | PCMCIA_DEVICE_PROD_ID12("SEIKO EPSON", "WWB101EN20", 0xf9876baf, 0xad0b207b), |
741 | PCMCIA_DEVICE_PROD_ID12("SEIKO EPSON", "WWB513EN20", 0xf9876baf, 0xe8d884ad), | 740 | PCMCIA_DEVICE_PROD_ID12("SEIKO EPSON", "WWB513EN20", 0xf9876baf, 0xe8d884ad), |
741 | PCMCIA_DEVICE_PROD_ID12("SMART Modular Technologies", " 4MB FLASH Card", 0x96fd8277, 0x737a5b05), | ||
742 | PCMCIA_DEVICE_PROD_ID12("Starfish, Inc.", "REX-3000", 0x05ddca47, 0xe7d67bca), | 742 | PCMCIA_DEVICE_PROD_ID12("Starfish, Inc.", "REX-3000", 0x05ddca47, 0xe7d67bca), |
743 | PCMCIA_DEVICE_PROD_ID12("Starfish, Inc.", "REX-4100", 0x05ddca47, 0x7bc32944), | 743 | PCMCIA_DEVICE_PROD_ID12("Starfish, Inc.", "REX-4100", 0x05ddca47, 0x7bc32944), |
744 | /* the following was commented out in pcmcia-cs-3.2.7 */ | 744 | /* the following was commented out in pcmcia-cs-3.2.7 */ |