aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd/maps
diff options
context:
space:
mode:
authorAlexander Kurz <linux@blala.de>2010-05-13 05:59:59 -0400
committerDavid Woodhouse <David.Woodhouse@intel.com>2010-05-13 22:23:01 -0400
commitf6763c98cb2175a816936f9b125d40054a27c185 (patch)
tree015247e7d72fec7dc35d762d1bc00c55b0b51fd6 /drivers/mtd/maps
parent087acaf1c6812d0ff4d4cb79c6f5a0e4e63815b3 (diff)
pcmciamtd: fixing obvious errors
After fixing the obvious errors, the driver will now compile again on v2.6.34-rc3. First tests with two 4MB flash cards including erase- and write test with one of the cards where successful. Also, add two new PCMCIA_DEVICE_PROD_IDs. [linux@dominikbrodowski.net: clean up commit message] Signed-off-by: Alexander Kurz <linux@kbdbabel.org> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'drivers/mtd/maps')
-rw-r--r--drivers/mtd/maps/Kconfig2
-rw-r--r--drivers/mtd/maps/pcmciamtd.c32
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
436config MTD_PCMCIA 436config 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
279static void pcmcia_write8(struct map_info *map, u8 d, unsigned long adr) 279static 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
291static void pcmcia_write16(struct map_info *map, u16 d, unsigned long adr) 291static 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
435static void card_settings(struct pcmciamtd_dev *dev, struct pcmcia_device *link, int *new_name) 435static 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 */