Lines Matching refs:mtd

358 static int flash_erase (struct mtd_info *mtd,struct erase_info *instr)  in flash_erase()  argument
376 for (i = 0; i < mtd->numeraseregions && instr->addr >= mtd->eraseregions[i].offset; i++) ; in flash_erase()
385 if (i < 0 || (instr->addr & (mtd->eraseregions[i].erasesize - 1))) in flash_erase()
398 … for (; i < mtd->numeraseregions && instr->addr + instr->len >= mtd->eraseregions[i].offset; i++) ; in flash_erase()
402 if (i < 0 || ((instr->addr + instr->len) & (mtd->eraseregions[i].erasesize - 1))) in flash_erase()
416 addr += mtd->eraseregions[i].erasesize; in flash_erase()
417 len -= mtd->eraseregions[i].erasesize; in flash_erase()
419 …if (addr == mtd->eraseregions[i].offset + (mtd->eraseregions[i].erasesize * mtd->eraseregions[i].n… in flash_erase()
425 static int flash_read (struct mtd_info *mtd,loff_t from,size_t len,size_t *retlen,u_char *buf) in flash_read() argument
503 static int flash_write (struct mtd_info *mtd,loff_t to,size_t len,size_t *retlen,const u_char *buf) in flash_write() argument
566 static struct mtd_info mtd; variable
608 memset (&mtd,0,sizeof (mtd)); in lart_flash_init()
617 mtd.name = module_name; in lart_flash_init()
618 mtd.type = MTD_NORFLASH; in lart_flash_init()
619 mtd.writesize = 1; in lart_flash_init()
620 mtd.writebufsize = 4; in lart_flash_init()
621 mtd.flags = MTD_CAP_NORFLASH; in lart_flash_init()
622mtd.size = FLASH_BLOCKSIZE_PARAM * FLASH_NUMBLOCKS_16m_PARAM + FLASH_BLOCKSIZE_MAIN * FLASH_NUMBLO… in lart_flash_init()
623 mtd.erasesize = FLASH_BLOCKSIZE_MAIN; in lart_flash_init()
624 mtd.numeraseregions = ARRAY_SIZE(erase_regions); in lart_flash_init()
625 mtd.eraseregions = erase_regions; in lart_flash_init()
626 mtd._erase = flash_erase; in lart_flash_init()
627 mtd._read = flash_read; in lart_flash_init()
628 mtd._write = flash_write; in lart_flash_init()
629 mtd.owner = THIS_MODULE; in lart_flash_init()
637 mtd.name, in lart_flash_init()
638 mtd.size,mtd.size / (1024*1024), in lart_flash_init()
639 mtd.erasesize,mtd.erasesize / 1024, in lart_flash_init()
640 mtd.numeraseregions); in lart_flash_init()
642 if (mtd.numeraseregions) in lart_flash_init()
643 for (result = 0; result < mtd.numeraseregions; result++) in lart_flash_init()
649 result,mtd.eraseregions[result].offset, in lart_flash_init()
650 result,mtd.eraseregions[result].erasesize,mtd.eraseregions[result].erasesize / 1024, in lart_flash_init()
651 result,mtd.eraseregions[result].numblocks); in lart_flash_init()
666 result = mtd_device_register(&mtd, lart_partitions, in lart_flash_init()
674 mtd_device_unregister(&mtd); in lart_flash_exit()