Lines Matching refs:card

63 	struct memcard *card;  in ofs_to_block()  local
69 card = maple_get_drvdata(mdev); in ofs_to_block()
71 if (src_ofs >= card->parts[partition].numblocks * card->blocklen) in ofs_to_block()
74 num = src_ofs / card->blocklen; in ofs_to_block()
75 if (num > card->parts[partition].numblocks) in ofs_to_block()
83 vblock->ofs = src_ofs % card->blocklen; in ofs_to_block()
94 struct memcard *card; in vmu_blockread() local
97 card = maple_get_drvdata(mdev); in vmu_blockread()
100 if (unlikely(!card->blockread)) in vmu_blockread()
103 memcpy(card->blockread, mq->recvbuf->buf + 12, in vmu_blockread()
104 card->blocklen/card->readcnt); in vmu_blockread()
114 struct memcard *card; in maple_vmu_read_block() local
125 card = maple_get_drvdata(mdev); in maple_vmu_read_block()
126 pcache = card->parts[partition].pcache; in maple_vmu_read_block()
131 pcache->buffer = kmalloc(card->blocklen, GFP_KERNEL); in maple_vmu_read_block()
146 for (x = 0; x < card->readcnt; x++) { in maple_vmu_read_block()
161 blockread = kmalloc(card->blocklen/card->readcnt, GFP_KERNEL); in maple_vmu_read_block()
167 card->blockread = blockread; in maple_vmu_read_block()
186 card->blockread = NULL; in maple_vmu_read_block()
190 card->blockread = NULL; in maple_vmu_read_block()
207 memcpy(buf + (card->blocklen/card->readcnt) * x, blockread, in maple_vmu_read_block()
208 card->blocklen/card->readcnt); in maple_vmu_read_block()
210 memcpy(pcache->buffer + (card->blocklen/card->readcnt) * x, in maple_vmu_read_block()
211 card->blockread, card->blocklen/card->readcnt); in maple_vmu_read_block()
212 card->blockread = NULL; in maple_vmu_read_block()
231 struct memcard *card; in maple_vmu_write_block() local
240 card = maple_get_drvdata(mdev); in maple_vmu_write_block()
242 phaselen = card->blocklen/card->writecnt; in maple_vmu_write_block()
249 for (x = 0; x < card->writecnt; x++) { in maple_vmu_write_block()
293 return card->blocklen; in maple_vmu_write_block()
308 struct memcard *card; in vmu_flash_read_char() local
317 card = maple_get_drvdata(mdev); in vmu_flash_read_char()
320 buf = kmalloc(card->blocklen, GFP_KERNEL); in vmu_flash_read_char()
356 struct memcard *card; in vmu_flash_read() local
366 card = maple_get_drvdata(mdev); in vmu_flash_read()
368 numblocks = card->parts[partition].numblocks; in vmu_flash_read()
369 if (from + len > numblocks * card->blocklen) in vmu_flash_read()
370 len = numblocks * card->blocklen - from; in vmu_flash_read()
374 pcache = card->parts[partition].pcache; in vmu_flash_read()
384 leftover = card->blocklen - vblock->ofs; in vmu_flash_read()
385 if (vblock->ofs + len - index < card->blocklen) { in vmu_flash_read()
422 struct memcard *card; in vmu_flash_write() local
432 card = maple_get_drvdata(mdev); in vmu_flash_write()
434 numblocks = card->parts[partition].numblocks; in vmu_flash_write()
435 if (to + len > numblocks * card->blocklen) in vmu_flash_write()
436 len = numblocks * card->blocklen - to; in vmu_flash_write()
448 buffer = kmalloc(card->blocklen, GFP_KERNEL); in vmu_flash_write()
466 } while (vblock->ofs < card->blocklen); in vmu_flash_write()
471 pcache = card->parts[partition].pcache; in vmu_flash_write()
474 if (error != card->blocklen) in vmu_flash_write()
505 struct memcard *card; in vmu_queryblocks() local
514 card = maple_get_drvdata(mdev); in vmu_queryblocks()
516 card->tempA = res[12]; in vmu_queryblocks()
517 card->tempB = res[6]; in vmu_queryblocks()
520 "blocks with a root block at %d\n", card->partition, in vmu_queryblocks()
521 card->tempA, card->tempB); in vmu_queryblocks()
523 part_cur = &card->parts[card->partition]; in vmu_queryblocks()
524 part_cur->user_blocks = card->tempA; in vmu_queryblocks()
525 part_cur->root_block = card->tempB; in vmu_queryblocks()
526 part_cur->numblocks = card->tempB + 1; in vmu_queryblocks()
532 mdev->port, mdev->unit, card->partition); in vmu_queryblocks()
533 mtd_cur = &card->mtd[card->partition]; in vmu_queryblocks()
537 mtd_cur->size = part_cur->numblocks * card->blocklen; in vmu_queryblocks()
538 mtd_cur->erasesize = card->blocklen; in vmu_queryblocks()
542 mtd_cur->writesize = card->blocklen; in vmu_queryblocks()
549 mpart->partition = card->partition; in vmu_queryblocks()
569 if (++card->partition < card->partitions) { in vmu_queryblocks()
570 partnum = cpu_to_be32(card->partition << 24); in vmu_queryblocks()
581 for (error = 0; error <= card->partition; error++) { in vmu_queryblocks()
582 kfree(((card->parts)[error]).pcache); in vmu_queryblocks()
583 ((card->parts)[error]).pcache = NULL; in vmu_queryblocks()
587 for (error = 0; error <= card->partition; error++) { in vmu_queryblocks()
588 kfree(((card->mtd)[error]).priv); in vmu_queryblocks()
589 ((card->mtd)[error]).priv = NULL; in vmu_queryblocks()
603 struct memcard *card; in vmu_connect() local
614 card = kmalloc(sizeof(struct memcard), GFP_KERNEL); in vmu_connect()
615 if (!card) { in vmu_connect()
620 card->partitions = (basic_flash_data >> 24 & 0xFF) + 1; in vmu_connect()
621 card->blocklen = ((basic_flash_data >> 16 & 0xFF) + 1) << 5; in vmu_connect()
622 card->writecnt = basic_flash_data >> 12 & 0xF; in vmu_connect()
623 card->readcnt = basic_flash_data >> 8 & 0xF; in vmu_connect()
624 card->removeable = basic_flash_data >> 7 & 1; in vmu_connect()
626 card->partition = 0; in vmu_connect()
632 card->parts = kmalloc(sizeof(struct vmupart) * card->partitions, in vmu_connect()
634 if (!card->parts) { in vmu_connect()
639 card->mtd = kmalloc(sizeof(struct mtd_info) * card->partitions, in vmu_connect()
641 if (!card->mtd) { in vmu_connect()
646 maple_set_drvdata(mdev, card); in vmu_connect()
684 kfree(card->mtd); in vmu_connect()
686 kfree(card->parts); in vmu_connect()
688 kfree(card); in vmu_connect()
695 struct memcard *card; in vmu_disconnect() local
700 card = maple_get_drvdata(mdev); in vmu_disconnect()
701 for (x = 0; x < card->partitions; x++) { in vmu_disconnect()
702 mpart = ((card->mtd)[x]).priv; in vmu_disconnect()
704 mtd_device_unregister(&((card->mtd)[x])); in vmu_disconnect()
705 kfree(((card->parts)[x]).name); in vmu_disconnect()
707 kfree(card->parts); in vmu_disconnect()
708 kfree(card->mtd); in vmu_disconnect()
709 kfree(card); in vmu_disconnect()
717 struct memcard *card; in vmu_can_unload() local
721 card = maple_get_drvdata(mdev); in vmu_can_unload()
722 for (x = 0; x < card->partitions; x++) { in vmu_can_unload()
723 mtd = &((card->mtd)[x]); in vmu_can_unload()