Lines Matching refs:mtd
53 struct mtd_info mtd; member
64 #define to_sst25l_flash(x) container_of(x, struct sst25l_flash, mtd)
170 static int sst25l_erase(struct mtd_info *mtd, struct erase_info *instr) in sst25l_erase() argument
172 struct sst25l_flash *flash = to_sst25l_flash(mtd); in sst25l_erase()
177 if ((uint32_t)instr->len % mtd->erasesize) in sst25l_erase()
180 if ((uint32_t)instr->addr % mtd->erasesize) in sst25l_erase()
203 addr += mtd->erasesize; in sst25l_erase()
213 static int sst25l_read(struct mtd_info *mtd, loff_t from, size_t len, in sst25l_read() argument
216 struct sst25l_flash *flash = to_sst25l_flash(mtd); in sst25l_read()
256 static int sst25l_write(struct mtd_info *mtd, loff_t to, size_t len, in sst25l_write() argument
259 struct sst25l_flash *flash = to_sst25l_flash(mtd); in sst25l_write()
263 if ((uint32_t)to % mtd->writesize) in sst25l_write()
272 for (i = 0; i < len; i += mtd->writesize) { in sst25l_write()
292 bytes = min_t(uint32_t, mtd->writesize, len - i); in sst25l_write()
376 flash->mtd.name = data->name; in sst25l_probe()
378 flash->mtd.dev.parent = &spi->dev; in sst25l_probe()
379 flash->mtd.type = MTD_NORFLASH; in sst25l_probe()
380 flash->mtd.flags = MTD_CAP_NORFLASH; in sst25l_probe()
381 flash->mtd.erasesize = flash_info->erase_size; in sst25l_probe()
382 flash->mtd.writesize = flash_info->page_size; in sst25l_probe()
383 flash->mtd.writebufsize = flash_info->page_size; in sst25l_probe()
384 flash->mtd.size = flash_info->page_size * flash_info->nr_pages; in sst25l_probe()
385 flash->mtd._erase = sst25l_erase; in sst25l_probe()
386 flash->mtd._read = sst25l_read; in sst25l_probe()
387 flash->mtd._write = sst25l_write; in sst25l_probe()
390 (long long)flash->mtd.size >> 10); in sst25l_probe()
394 flash->mtd.name, in sst25l_probe()
395 (long long)flash->mtd.size, (long long)(flash->mtd.size >> 20), in sst25l_probe()
396 flash->mtd.erasesize, flash->mtd.erasesize / 1024, in sst25l_probe()
397 flash->mtd.numeraseregions); in sst25l_probe()
400 ret = mtd_device_parse_register(&flash->mtd, NULL, NULL, in sst25l_probe()
413 return mtd_device_unregister(&flash->mtd); in sst25l_remove()