/Linux-v4.19/drivers/mtd/ |
D | mtdcore.c | 56 struct mtd_info *mtd = dev_get_drvdata(dev); in mtd_cls_suspend() local 58 return mtd ? mtd_suspend(mtd) : 0; in mtd_cls_suspend() 63 struct mtd_info *mtd = dev_get_drvdata(dev); in mtd_cls_resume() local 65 if (mtd) in mtd_cls_resume() 66 mtd_resume(mtd); in mtd_cls_resume() 105 struct mtd_info *mtd = dev_get_drvdata(dev); in mtd_release() local 106 dev_t index = MTD_DEVT(mtd->index); in mtd_release() 115 struct mtd_info *mtd = dev_get_drvdata(dev); in mtd_type_show() local 118 switch (mtd->type) { in mtd_type_show() 154 struct mtd_info *mtd = dev_get_drvdata(dev); in mtd_flags_show() local [all …]
|
D | mtdpart.c | 49 struct mtd_info mtd; member 59 static inline struct mtd_part *mtd_to_part(const struct mtd_info *mtd) in mtd_to_part() argument 61 return container_of(mtd, struct mtd_part, mtd); in mtd_to_part() 70 static int part_read(struct mtd_info *mtd, loff_t from, size_t len, in part_read() argument 73 struct mtd_part *part = mtd_to_part(mtd); in part_read() 81 mtd->ecc_stats.failed += in part_read() 84 mtd->ecc_stats.corrected += in part_read() 89 static int part_point(struct mtd_info *mtd, loff_t from, size_t len, in part_point() argument 92 struct mtd_part *part = mtd_to_part(mtd); in part_point() 98 static int part_unpoint(struct mtd_info *mtd, loff_t from, size_t len) in part_unpoint() argument [all …]
|
D | mtdchar.c | 51 struct mtd_info *mtd; member 58 return fixed_size_llseek(file, offset, orig, mfi->mtd->size); in mtdchar_lseek() 66 struct mtd_info *mtd; in mtdchar_open() local 76 mtd = get_mtd_device(NULL, devnum); in mtdchar_open() 78 if (IS_ERR(mtd)) { in mtdchar_open() 79 ret = PTR_ERR(mtd); in mtdchar_open() 83 if (mtd->type == MTD_ABSENT) { in mtdchar_open() 89 if ((file->f_mode & FMODE_WRITE) && !(mtd->flags & MTD_WRITEABLE)) { in mtdchar_open() 99 mfi->mtd = mtd; in mtdchar_open() 105 put_mtd_device(mtd); in mtdchar_open() [all …]
|
D | mtdconcat.c | 44 struct mtd_info mtd; member 68 concat_read(struct mtd_info *mtd, loff_t from, size_t len, in concat_read() argument 71 struct mtd_concat *concat = CONCAT(mtd); in concat_read() 97 mtd->ecc_stats.failed++; in concat_read() 100 mtd->ecc_stats.corrected++; in concat_read() 120 concat_write(struct mtd_info *mtd, loff_t to, size_t len, in concat_write() argument 123 struct mtd_concat *concat = CONCAT(mtd); in concat_write() 158 concat_writev(struct mtd_info *mtd, const struct kvec *vecs, in concat_writev() argument 161 struct mtd_concat *concat = CONCAT(mtd); in concat_writev() 173 if (mtd->writesize > 1) { in concat_writev() [all …]
|
D | mtdsuper.c | 29 struct mtd_info *mtd = _mtd; in get_sb_mtd_compare() local 31 if (sb->s_mtd == mtd) { in get_sb_mtd_compare() 33 mtd->index, mtd->name); in get_sb_mtd_compare() 38 sb->s_mtd->index, sb->s_mtd->name, mtd->index, mtd->name); in get_sb_mtd_compare() 51 struct mtd_info *mtd = _mtd; in get_sb_mtd_set() local 53 sb->s_mtd = mtd; in get_sb_mtd_set() 54 sb->s_dev = MKDEV(MTD_BLOCK_MAJOR, mtd->index); in get_sb_mtd_set() 65 struct mtd_info *mtd, in mount_mtd_aux() argument 71 sb = sget(fs_type, get_sb_mtd_compare, get_sb_mtd_set, flags, mtd); in mount_mtd_aux() 80 mtd->index, mtd->name); in mount_mtd_aux() [all …]
|
D | mtdoops.c | 63 struct mtd_info *mtd; member 89 struct mtd_info *mtd = cxt->mtd; in mtdoops_erase_block() local 90 u32 start_page_offset = mtd_div_by_eb(offset, mtd) * mtd->erasesize; in mtdoops_erase_block() 92 u32 erase_pages = mtd->erasesize / record_size; in mtdoops_erase_block() 98 erase.len = mtd->erasesize; in mtdoops_erase_block() 100 ret = mtd_erase(mtd, &erase); in mtdoops_erase_block() 138 struct mtd_info *mtd = cxt->mtd; in mtdoops_workfunc_erase() local 142 if (!mtd) in mtdoops_workfunc_erase() 145 mod = (cxt->nextpage * record_size) % mtd->erasesize; in mtdoops_workfunc_erase() 147 cxt->nextpage = cxt->nextpage + ((mtd->erasesize - mod) / record_size); in mtdoops_workfunc_erase() [all …]
|
/Linux-v4.19/include/linux/mtd/ |
D | mtd.h | 114 int (*ecc)(struct mtd_info *mtd, int section, 116 int (*free)(struct mtd_info *mtd, int section, 190 int (*get_info)(struct mtd_info *mtd, int wunit, 192 int (*get_wunit)(struct mtd_info *mtd, 285 int (*_erase) (struct mtd_info *mtd, struct erase_info *instr); 286 int (*_point) (struct mtd_info *mtd, loff_t from, size_t len, 288 int (*_unpoint) (struct mtd_info *mtd, loff_t from, size_t len); 289 int (*_read) (struct mtd_info *mtd, loff_t from, size_t len, 291 int (*_write) (struct mtd_info *mtd, loff_t to, size_t len, 293 int (*_panic_write) (struct mtd_info *mtd, loff_t to, size_t len, [all …]
|
/Linux-v4.19/drivers/mtd/nand/raw/ |
D | mpc5121_nfc.c | 131 static void mpc5121_nfc_done(struct mtd_info *mtd); 134 static inline u16 nfc_read(struct mtd_info *mtd, uint reg) in nfc_read() argument 136 struct nand_chip *chip = mtd_to_nand(mtd); in nfc_read() 143 static inline void nfc_write(struct mtd_info *mtd, uint reg, u16 val) in nfc_write() argument 145 struct nand_chip *chip = mtd_to_nand(mtd); in nfc_write() 152 static inline void nfc_set(struct mtd_info *mtd, uint reg, u16 bits) in nfc_set() argument 154 nfc_write(mtd, reg, nfc_read(mtd, reg) | bits); in nfc_set() 158 static inline void nfc_clear(struct mtd_info *mtd, uint reg, u16 bits) in nfc_clear() argument 160 nfc_write(mtd, reg, nfc_read(mtd, reg) & ~bits); in nfc_clear() 164 static inline void mpc5121_nfc_send_addr(struct mtd_info *mtd, u16 addr) in mpc5121_nfc_send_addr() argument [all …]
|
D | nand_base.c | 51 static int nand_get_device(struct mtd_info *mtd, int new_state); 53 static int nand_do_write_oob(struct mtd_info *mtd, loff_t to, 57 static int nand_ooblayout_ecc_sp(struct mtd_info *mtd, int section, in nand_ooblayout_ecc_sp() argument 60 struct nand_chip *chip = mtd_to_nand(mtd); in nand_ooblayout_ecc_sp() 68 if (mtd->oobsize == 16) in nand_ooblayout_ecc_sp() 73 if (mtd->oobsize == 8) in nand_ooblayout_ecc_sp() 83 static int nand_ooblayout_free_sp(struct mtd_info *mtd, int section, in nand_ooblayout_free_sp() argument 89 if (mtd->oobsize == 16) { in nand_ooblayout_free_sp() 112 static int nand_ooblayout_ecc_lp(struct mtd_info *mtd, int section, in nand_ooblayout_ecc_lp() argument 115 struct nand_chip *chip = mtd_to_nand(mtd); in nand_ooblayout_ecc_lp() [all …]
|
D | au1550nd.c | 36 static u_char au_read_byte(struct mtd_info *mtd) in au_read_byte() argument 38 struct nand_chip *this = mtd_to_nand(mtd); in au_read_byte() 51 static void au_write_byte(struct mtd_info *mtd, u_char byte) in au_write_byte() argument 53 struct nand_chip *this = mtd_to_nand(mtd); in au_write_byte() 64 static u_char au_read_byte16(struct mtd_info *mtd) in au_read_byte16() argument 66 struct nand_chip *this = mtd_to_nand(mtd); in au_read_byte16() 79 static void au_write_byte16(struct mtd_info *mtd, u_char byte) in au_write_byte16() argument 81 struct nand_chip *this = mtd_to_nand(mtd); in au_write_byte16() 92 static u16 au_read_word(struct mtd_info *mtd) in au_read_word() argument 94 struct nand_chip *this = mtd_to_nand(mtd); in au_read_word() [all …]
|
D | nand_bbt.c | 79 static int nand_update_bbt(struct mtd_info *mtd, loff_t offs); 171 static int read_bbt(struct mtd_info *mtd, uint8_t *buf, int page, int num, in read_bbt() argument 175 struct nand_chip *this = mtd_to_nand(mtd); in read_bbt() 198 res = mtd_read(mtd, from, len, &retlen, buf); in read_bbt() 202 from & ~mtd->writesize); in read_bbt() 206 from & ~mtd->writesize); in read_bbt() 227 mtd->ecc_stats.bbtblocks++; in read_bbt() 244 mtd->ecc_stats.badblocks++; in read_bbt() 264 static int read_abs_bbt(struct mtd_info *mtd, uint8_t *buf, struct nand_bbt_descr *td, int chip) in read_abs_bbt() argument 266 struct nand_chip *this = mtd_to_nand(mtd); in read_abs_bbt() [all …]
|
/Linux-v4.19/drivers/mtd/nand/onenand/ |
D | onenand_base.c | 69 static int flexonenand_ooblayout_ecc(struct mtd_info *mtd, int section, in flexonenand_ooblayout_ecc() argument 81 static int flexonenand_ooblayout_free(struct mtd_info *mtd, int section, in flexonenand_ooblayout_free() argument 105 static int onenand_ooblayout_128_ecc(struct mtd_info *mtd, int section, in onenand_ooblayout_128_ecc() argument 117 static int onenand_ooblayout_128_free(struct mtd_info *mtd, int section, in onenand_ooblayout_128_free() argument 141 static int onenand_ooblayout_32_64_ecc(struct mtd_info *mtd, int section, in onenand_ooblayout_32_64_ecc() argument 153 static int onenand_ooblayout_32_64_free(struct mtd_info *mtd, int section, in onenand_ooblayout_32_64_free() argument 156 int sections = (mtd->oobsize / 32) * 2; in onenand_ooblayout_32_64_free() 380 int flexonenand_region(struct mtd_info *mtd, loff_t addr) in flexonenand_region() argument 384 for (i = 0; i < mtd->numeraseregions; i++) in flexonenand_region() 385 if (addr < mtd->eraseregions[i].offset) in flexonenand_region() [all …]
|
/Linux-v4.19/drivers/mtd/ubi/ |
D | gluebi.c | 57 struct mtd_info mtd; member 97 static int gluebi_get_device(struct mtd_info *mtd) in gluebi_get_device() argument 102 if (mtd->flags & MTD_WRITEABLE) in gluebi_get_device() 105 gluebi = container_of(mtd, struct gluebi_device, mtd); in gluebi_get_device() 143 static void gluebi_put_device(struct mtd_info *mtd) in gluebi_put_device() argument 147 gluebi = container_of(mtd, struct gluebi_device, mtd); in gluebi_put_device() 166 static int gluebi_read(struct mtd_info *mtd, loff_t from, size_t len, in gluebi_read() argument 172 gluebi = container_of(mtd, struct gluebi_device, mtd); in gluebi_read() 173 lnum = div_u64_rem(from, mtd->erasesize, &offs); in gluebi_read() 176 size_t to_read = mtd->erasesize - offs; in gluebi_read() [all …]
|
/Linux-v4.19/drivers/mtd/chips/ |
D | map_ram.c | 23 static int mapram_point (struct mtd_info *mtd, loff_t from, size_t len, 25 static int mapram_unpoint(struct mtd_info *mtd, loff_t from, size_t len); 36 struct mtd_info *mtd; in map_ram_probe() local 59 mtd = kzalloc(sizeof(*mtd), GFP_KERNEL); in map_ram_probe() 60 if (!mtd) in map_ram_probe() 64 mtd->priv = map; in map_ram_probe() 65 mtd->name = map->name; in map_ram_probe() 66 mtd->type = MTD_RAM; in map_ram_probe() 67 mtd->size = map->size; in map_ram_probe() 68 mtd->_erase = mapram_erase; in map_ram_probe() [all …]
|
D | map_rom.c | 22 static int maprom_erase (struct mtd_info *mtd, struct erase_info *info); 23 static int maprom_point (struct mtd_info *mtd, loff_t from, size_t len, 25 static int maprom_unpoint(struct mtd_info *mtd, loff_t from, size_t len); 45 struct mtd_info *mtd; in map_rom_probe() local 47 mtd = kzalloc(sizeof(*mtd), GFP_KERNEL); in map_rom_probe() 48 if (!mtd) in map_rom_probe() 52 mtd->priv = map; in map_rom_probe() 53 mtd->name = map->name; in map_rom_probe() 54 mtd->type = MTD_ROM; in map_rom_probe() 55 mtd->size = map->size; in map_rom_probe() [all …]
|
D | map_absent.c | 46 struct mtd_info *mtd; in map_absent_probe() local 48 mtd = kzalloc(sizeof(*mtd), GFP_KERNEL); in map_absent_probe() 49 if (!mtd) { in map_absent_probe() 54 mtd->priv = map; in map_absent_probe() 55 mtd->name = map->name; in map_absent_probe() 56 mtd->type = MTD_ABSENT; in map_absent_probe() 57 mtd->size = map->size; in map_absent_probe() 58 mtd->_erase = map_absent_erase; in map_absent_probe() 59 mtd->_read = map_absent_read; in map_absent_probe() 60 mtd->_write = map_absent_write; in map_absent_probe() [all …]
|
/Linux-v4.19/drivers/mtd/devices/ |
D | mtdram.c | 39 static int check_offs_len(struct mtd_info *mtd, loff_t ofs, uint64_t len) in check_offs_len() argument 44 if (mtd_mod_by_eb(ofs, mtd)) { in check_offs_len() 50 if (mtd_mod_by_eb(len, mtd)) { in check_offs_len() 58 static int ram_erase(struct mtd_info *mtd, struct erase_info *instr) in ram_erase() argument 60 if (check_offs_len(mtd, instr->addr, instr->len)) in ram_erase() 62 memset((char *)mtd->priv + instr->addr, 0xff, instr->len); in ram_erase() 67 static int ram_point(struct mtd_info *mtd, loff_t from, size_t len, in ram_point() argument 70 *virt = mtd->priv + from; in ram_point() 96 static int ram_unpoint(struct mtd_info *mtd, loff_t from, size_t len) in ram_unpoint() argument 101 static int ram_read(struct mtd_info *mtd, loff_t from, size_t len, in ram_read() argument [all …]
|
D | powernv_flash.c | 40 struct mtd_info mtd; member 55 static int powernv_flash_async_op(struct mtd_info *mtd, enum flash_op op, in powernv_flash_async_op() argument 58 struct powernv_flash *info = (struct powernv_flash *)mtd->priv; in powernv_flash_async_op() 59 struct device *dev = &mtd->dev; in powernv_flash_async_op() 146 static int powernv_flash_read(struct mtd_info *mtd, loff_t from, size_t len, in powernv_flash_read() argument 149 return powernv_flash_async_op(mtd, FLASH_OP_READ, from, in powernv_flash_read() 162 static int powernv_flash_write(struct mtd_info *mtd, loff_t to, size_t len, in powernv_flash_write() argument 165 return powernv_flash_async_op(mtd, FLASH_OP_WRITE, to, in powernv_flash_write() 174 static int powernv_flash_erase(struct mtd_info *mtd, struct erase_info *erase) in powernv_flash_erase() argument 178 rc = powernv_flash_async_op(mtd, FLASH_OP_ERASE, erase->addr, in powernv_flash_erase() [all …]
|
D | lart.c | 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() 419 addr += mtd->eraseregions[i].erasesize; in flash_erase() 420 len -= mtd->eraseregions[i].erasesize; in flash_erase() 422 …if (addr == mtd->eraseregions[i].offset + (mtd->eraseregions[i].erasesize * mtd->eraseregions[i].n… in flash_erase() 428 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 [all …]
|
/Linux-v4.19/drivers/mtd/tests/ |
D | oobtest.c | 43 static struct mtd_info *mtd; variable 73 loff_t addr = (loff_t)ebnum * mtd->erasesize; in write_eraseblock() 76 for (i = 0; i < pgcnt; ++i, addr += mtd->writesize) { in write_eraseblock() 85 err = mtd_write_oob(mtd, addr, &ops); in write_eraseblock() 182 loff_t addr = (loff_t)ebnum * mtd->erasesize; in verify_eraseblock() 186 for (i = 0; i < pgcnt; ++i, addr += mtd->writesize) { in verify_eraseblock() 195 err = mtd_read_oob(mtd, addr, &ops); in verify_eraseblock() 221 if (use_offset != 0 || use_len < mtd->oobavail) { in verify_eraseblock() 227 ops.ooblen = mtd->oobavail; in verify_eraseblock() 232 err = mtd_read_oob(mtd, addr, &ops); in verify_eraseblock() [all …]
|
D | pagetest.c | 40 static struct mtd_info *mtd; variable 55 loff_t addr = (loff_t)ebnum * mtd->erasesize; in write_eraseblock() 57 prandom_bytes_state(&rnd_state, writebuf, mtd->erasesize); in write_eraseblock() 59 return mtdtest_write(mtd, addr, mtd->erasesize, writebuf); in write_eraseblock() 67 loff_t addr = (loff_t)ebnum * mtd->erasesize; in verify_eraseblock() 71 addr0 += mtd->erasesize; in verify_eraseblock() 73 addrn = mtd->size; in verify_eraseblock() 75 addrn -= mtd->erasesize; in verify_eraseblock() 77 prandom_bytes_state(&rnd_state, writebuf, mtd->erasesize); in verify_eraseblock() 80 err = mtdtest_read(mtd, addr0, bufsize, twopages); in verify_eraseblock() [all …]
|
D | stresstest.c | 44 static struct mtd_info *mtd; variable 94 if (offs >= mtd->erasesize) in do_read() 95 offs -= mtd->erasesize; in do_read() 96 if (offs + len > mtd->erasesize) in do_read() 97 len = mtd->erasesize - offs; in do_read() 99 addr = (loff_t)eb * mtd->erasesize + offs; in do_read() 100 return mtdtest_read(mtd, addr, len, readbuf); in do_read() 109 if (offs >= mtd->erasesize) { in do_write() 110 err = mtdtest_erase_eraseblock(mtd, eb); in do_write() 117 if (offs + len > mtd->erasesize) { in do_write() [all …]
|
D | speedtest.c | 45 static struct mtd_info *mtd; variable 59 loff_t addr = (loff_t)ebnum * mtd->erasesize; in multiblock_erase() 63 ei.len = mtd->erasesize * blocks; in multiblock_erase() 65 err = mtd_erase(mtd, &ei); in multiblock_erase() 77 loff_t addr = (loff_t)ebnum * mtd->erasesize; in write_eraseblock() 79 return mtdtest_write(mtd, addr, mtd->erasesize, iobuf); in write_eraseblock() 85 loff_t addr = (loff_t)ebnum * mtd->erasesize; in write_eraseblock_by_page() 89 err = mtdtest_write(mtd, addr, pgsize, buf); in write_eraseblock_by_page() 103 loff_t addr = (loff_t)ebnum * mtd->erasesize; in write_eraseblock_by_2pages() 107 err = mtdtest_write(mtd, addr, sz, buf); in write_eraseblock_by_2pages() [all …]
|
/Linux-v4.19/drivers/net/ethernet/sfc/ |
D | mtd.c | 19 #define to_efx_mtd_partition(mtd) \ argument 20 container_of(mtd, struct efx_mtd_partition, mtd) 24 static int efx_mtd_erase(struct mtd_info *mtd, struct erase_info *erase) in efx_mtd_erase() argument 26 struct efx_nic *efx = mtd->priv; in efx_mtd_erase() 28 return efx->type->mtd_erase(mtd, erase->addr, erase->len); in efx_mtd_erase() 31 static void efx_mtd_sync(struct mtd_info *mtd) in efx_mtd_sync() argument 33 struct efx_mtd_partition *part = to_efx_mtd_partition(mtd); in efx_mtd_sync() 34 struct efx_nic *efx = mtd->priv; in efx_mtd_sync() 37 rc = efx->type->mtd_sync(mtd); in efx_mtd_sync() 48 rc = mtd_device_unregister(&part->mtd); in efx_mtd_remove_partition() [all …]
|
/Linux-v4.19/drivers/net/ethernet/sfc/falcon/ |
D | mtd.c | 19 #define to_ef4_mtd_partition(mtd) \ argument 20 container_of(mtd, struct ef4_mtd_partition, mtd) 24 static int ef4_mtd_erase(struct mtd_info *mtd, struct erase_info *erase) in ef4_mtd_erase() argument 26 struct ef4_nic *efx = mtd->priv; in ef4_mtd_erase() 28 return efx->type->mtd_erase(mtd, erase->addr, erase->len); in ef4_mtd_erase() 31 static void ef4_mtd_sync(struct mtd_info *mtd) in ef4_mtd_sync() argument 33 struct ef4_mtd_partition *part = to_ef4_mtd_partition(mtd); in ef4_mtd_sync() 34 struct ef4_nic *efx = mtd->priv; in ef4_mtd_sync() 37 rc = efx->type->mtd_sync(mtd); in ef4_mtd_sync() 48 rc = mtd_device_unregister(&part->mtd); in ef4_mtd_remove_partition() [all …]
|