Lines Matching refs:mtd

361 static int flash_erase (struct mtd_info *mtd,struct erase_info *instr)  in flash_erase()  argument
379 for (i = 0; i < mtd->numeraseregions && instr->addr >= mtd->eraseregions[i].offset; i++) ; in flash_erase()
388 if (i < 0 || (instr->addr & (mtd->eraseregions[i].erasesize - 1))) in flash_erase()
401 … for (; i < mtd->numeraseregions && instr->addr + instr->len >= mtd->eraseregions[i].offset; i++) ; in flash_erase()
405 if (i < 0 || ((instr->addr + instr->len) & (mtd->eraseregions[i].erasesize - 1))) in flash_erase()
422 addr += mtd->eraseregions[i].erasesize; in flash_erase()
423 len -= mtd->eraseregions[i].erasesize; in flash_erase()
425 …if (addr == mtd->eraseregions[i].offset + (mtd->eraseregions[i].erasesize * mtd->eraseregions[i].n… in flash_erase()
434 static int flash_read (struct mtd_info *mtd,loff_t from,size_t len,size_t *retlen,u_char *buf) in flash_read() argument
509 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
569 static struct mtd_info mtd; variable
611 memset (&mtd,0,sizeof (mtd)); in lart_flash_init()
620 mtd.name = module_name; in lart_flash_init()
621 mtd.type = MTD_NORFLASH; in lart_flash_init()
622 mtd.writesize = 1; in lart_flash_init()
623 mtd.writebufsize = 4; in lart_flash_init()
624 mtd.flags = MTD_CAP_NORFLASH; in lart_flash_init()
625mtd.size = FLASH_BLOCKSIZE_PARAM * FLASH_NUMBLOCKS_16m_PARAM + FLASH_BLOCKSIZE_MAIN * FLASH_NUMBLO… in lart_flash_init()
626 mtd.erasesize = FLASH_BLOCKSIZE_MAIN; in lart_flash_init()
627 mtd.numeraseregions = ARRAY_SIZE(erase_regions); in lart_flash_init()
628 mtd.eraseregions = erase_regions; in lart_flash_init()
629 mtd._erase = flash_erase; in lart_flash_init()
630 mtd._read = flash_read; in lart_flash_init()
631 mtd._write = flash_write; in lart_flash_init()
632 mtd.owner = THIS_MODULE; in lart_flash_init()
640 mtd.name, in lart_flash_init()
641 mtd.size,mtd.size / (1024*1024), in lart_flash_init()
642 mtd.erasesize,mtd.erasesize / 1024, in lart_flash_init()
643 mtd.numeraseregions); in lart_flash_init()
645 if (mtd.numeraseregions) in lart_flash_init()
646 for (result = 0; result < mtd.numeraseregions; result++) in lart_flash_init()
652 result,mtd.eraseregions[result].offset, in lart_flash_init()
653 result,mtd.eraseregions[result].erasesize,mtd.eraseregions[result].erasesize / 1024, in lart_flash_init()
654 result,mtd.eraseregions[result].numblocks); in lart_flash_init()
669 result = mtd_device_register(&mtd, lart_partitions, in lart_flash_init()
677 mtd_device_unregister(&mtd); in lart_flash_exit()