Home
last modified time | relevance | path

Searched refs:mtd (Results 1 – 25 of 281) sorted by relevance

12345678910>>...12

/linux/include/linux/mtd/
H A Dmtd.h107 int (*ecc)(struct mtd_info *mtd, int section,
109 int (*free)(struct mtd_info *mtd, int section,
183 int (*get_info)(struct mtd_info *mtd, int wunit,
185 int (*get_wunit)(struct mtd_info *mtd,
316 int (*_erase) (struct mtd_info *mtd, struct erase_info *instr);
317 int (*_point) (struct mtd_info *mtd, loff_t from, size_t len,
319 int (*_unpoint) (struct mtd_info *mtd, loff_t from, size_t len);
320 int (*_read) (struct mtd_info *mtd, loff_t from, size_t len,
322 int (*_write) (struct mtd_info *mtd, loff_t to, size_t len,
324 int (*_panic_write) (struct mtd_info *mtd, loff_t to, size_t len,
[all …]
/linux/drivers/mtd/
H A Dmtdcore.c46 struct mtd_info *mtd = dev_get_drvdata(dev); in mtd_cls_suspend() local
48 return mtd ? mtd_suspend(mtd) : 0; in mtd_cls_suspend()
53 struct mtd_info *mtd = dev_get_drvdata(dev); in mtd_cls_resume() local
55 if (mtd) in mtd_cls_resume()
56 mtd_resume(mtd); in mtd_cls_resume()
94 struct mtd_info *mtd = dev_get_drvdata(dev); in mtd_release() local
95 dev_t index = MTD_DEVT(mtd->index); in mtd_release()
97 idr_remove(&mtd_idr, mtd->index); in mtd_release()
98 of_node_put(mtd_get_of_node(mtd)); in mtd_release()
100 if (mtd_is_partition(mtd)) in mtd_release()
[all …]
H A Dmtdpstore.c16 struct mtd_info *mtd; member
30 struct mtd_info *mtd = cxt->mtd; in mtdpstore_block_isbad() local
33 off = ALIGN_DOWN(off, mtd->erasesize); in mtdpstore_block_isbad()
34 blknum = div_u64(off, mtd->erasesize); in mtdpstore_block_isbad()
38 ret = mtd_block_isbad(mtd, off); in mtdpstore_block_isbad()
40 dev_err(&mtd->dev, "mtd_block_isbad failed, aborting\n"); in mtdpstore_block_isbad()
52 struct mtd_info *mtd = cxt->mtd; in mtdpstore_panic_block_isbad() local
55 off = ALIGN_DOWN(off, mtd->erasesize); in mtdpstore_panic_block_isbad()
56 blknum = div_u64(off, mtd->erasesize); in mtdpstore_panic_block_isbad()
63 struct mtd_info *mtd = cxt->mtd; in mtdpstore_mark_used() local
[all …]
H A Dmtdchar.c35 struct mtd_info *mtd; member
42 return fixed_size_llseek(file, offset, orig, mfi->mtd->size); in mtdchar_lseek()
50 struct mtd_info *mtd; in mtdchar_open() local
59 mtd = get_mtd_device(NULL, devnum); in mtdchar_open()
61 if (IS_ERR(mtd)) in mtdchar_open()
62 return PTR_ERR(mtd); in mtdchar_open()
64 if (mtd->type == MTD_ABSENT) { in mtdchar_open()
70 if ((file->f_mode & FMODE_WRITE) && !(mtd->flags & MTD_WRITEABLE)) { in mtdchar_open()
80 mfi->mtd = mtd; in mtdchar_open()
85 put_mtd_device(mtd); in mtdchar_open()
[all …]
H A Dmtdconcat.c30 struct mtd_info mtd; member
54 concat_read(struct mtd_info *mtd, loff_t from, size_t len, in concat_read() argument
57 struct mtd_concat *concat = CONCAT(mtd); in concat_read()
83 mtd->ecc_stats.failed++; in concat_read()
86 mtd->ecc_stats.corrected++; in concat_read()
106 concat_panic_write(struct mtd_info *mtd, loff_t to, size_t len, in concat_panic_write() argument
109 struct mtd_concat *concat = CONCAT(mtd); in concat_panic_write()
147 concat_write(struct mtd_info *mtd, loff_t to, size_t len, in concat_write() argument
150 struct mtd_concat *concat = CONCAT(mtd); in concat_write()
185 concat_writev(struct mtd_info *mtd, const struct kvec *vecs, in concat_writev() argument
[all …]
H A Dmtdoops.c58 struct mtd_info *mtd; member
85 struct mtd_info *mtd = cxt->mtd; in mtdoops_erase_block() local
86 u32 start_page_offset = mtd_div_by_eb(offset, mtd) * mtd->erasesize; in mtdoops_erase_block()
88 u32 erase_pages = mtd->erasesize / record_size; in mtdoops_erase_block()
94 erase.len = mtd->erasesize; in mtdoops_erase_block()
96 ret = mtd_erase(mtd, &erase); in mtdoops_erase_block()
113 struct mtd_info *mtd = cxt->mtd; in mtdoops_erase() local
117 if (!mtd) in mtdoops_erase()
120 mod = (cxt->nextpage * record_size) % mtd->erasesize; in mtdoops_erase()
122 cxt->nextpage = cxt->nextpage + ((mtd->erasesize - mod) / record_size); in mtdoops_erase()
[all …]
H A Dmtdblock.c44 static int erase_write (struct mtd_info *mtd, unsigned long pos, in erase_write() argument
57 ret = mtd_erase(mtd, &erase); in erase_write()
61 pos, len, mtd->name); in erase_write()
69 ret = mtd_write(mtd, pos, len, &retlen, buf); in erase_write()
80 struct mtd_info *mtd = mtdblk->mbd.mtd; in write_cached_data() local
87 "at 0x%lx, size 0x%x\n", mtd->name, in write_cached_data()
90 ret = erase_write (mtd, mtdblk->cache_offset, in write_cached_data()
113 struct mtd_info *mtd = mtdblk->mbd.mtd; in do_cached_write() local
119 mtd->name, pos, len); in do_cached_write()
122 return mtd_write(mtd, pos, len, &retlen, buf); in do_cached_write()
[all …]
H A Dmtdsuper.c26 struct mtd_info *mtd, in mtd_get_sb() argument
33 sb = sget_dev(fc, MKDEV(MTD_BLOCK_MAJOR, mtd->index)); in mtd_get_sb()
40 mtd->index, mtd->name); in mtd_get_sb()
41 put_mtd_device(mtd); in mtd_get_sb()
45 mtd->index, mtd->name); in mtd_get_sb()
54 sb->s_mtd = mtd; in mtd_get_sb()
80 struct mtd_info *mtd; in mtd_get_sb_by_nr() local
82 mtd = get_mtd_device(NULL, mtdnr); in mtd_get_sb_by_nr()
83 if (IS_ERR(mtd)) { in mtd_get_sb_by_nr()
85 return PTR_ERR(mtd); in mtd_get_sb_by_nr()
[all …]
/linux/drivers/mtd/nand/raw/
H A Dmpc5121_nfc.c119 static void mpc5121_nfc_done(struct mtd_info *mtd);
122 static inline u16 nfc_read(struct mtd_info *mtd, uint reg) in nfc_read() argument
124 struct nand_chip *chip = mtd_to_nand(mtd); in nfc_read()
131 static inline void nfc_write(struct mtd_info *mtd, uint reg, u16 val) in nfc_write() argument
133 struct nand_chip *chip = mtd_to_nand(mtd); in nfc_write()
140 static inline void nfc_set(struct mtd_info *mtd, uint reg, u16 bits) in nfc_set() argument
142 nfc_write(mtd, reg, nfc_read(mtd, reg) | bits); in nfc_set()
146 static inline void nfc_clear(struct mtd_info *mtd, uint reg, u16 bits) in nfc_clear() argument
148 nfc_write(mtd, reg, nfc_read(mtd, reg) & ~bits); in nfc_clear()
152 static inline void mpc5121_nfc_send_addr(struct mtd_info *mtd, u16 addr) in mpc5121_nfc_send_addr() argument
[all …]
/linux/drivers/mtd/ubi/
H A Dgluebi.c44 struct mtd_info mtd; member
84 static int gluebi_get_device(struct mtd_info *mtd) in gluebi_get_device() argument
89 if (mtd->flags & MTD_WRITEABLE) in gluebi_get_device()
92 gluebi = container_of(mtd, struct gluebi_device, mtd); in gluebi_get_device()
130 static void gluebi_put_device(struct mtd_info *mtd) in gluebi_put_device() argument
134 gluebi = container_of(mtd, struct gluebi_device, mtd); in gluebi_put_device()
153 static int gluebi_read(struct mtd_info *mtd, loff_t from, size_t len, in gluebi_read() argument
159 gluebi = container_of(mtd, struct gluebi_device, mtd); in gluebi_read()
160 lnum = div_u64_rem(from, mtd->erasesize, &offs); in gluebi_read()
163 size_t to_read = mtd->erasesize - offs; in gluebi_read()
[all …]
/linux/drivers/mtd/chips/
H A Dmap_ram.c24 static int mapram_point (struct mtd_info *mtd, loff_t from, size_t len,
26 static int mapram_unpoint(struct mtd_info *mtd, loff_t from, size_t len);
37 struct mtd_info *mtd; in map_ram_probe() local
60 mtd = kzalloc(sizeof(*mtd), GFP_KERNEL); in map_ram_probe()
61 if (!mtd) in map_ram_probe()
65 mtd->priv = map; in map_ram_probe()
66 mtd->name = map->name; in map_ram_probe()
67 mtd->type = MTD_RAM; in map_ram_probe()
68 mtd->size = map->size; in map_ram_probe()
69 mtd->_erase = mapram_erase; in map_ram_probe()
[all …]
H A Dmap_rom.c23 static int maprom_erase (struct mtd_info *mtd, struct erase_info *info);
24 static int maprom_point (struct mtd_info *mtd, loff_t from, size_t len,
26 static int maprom_unpoint(struct mtd_info *mtd, loff_t from, size_t len);
46 struct mtd_info *mtd; in map_rom_probe() local
48 mtd = kzalloc(sizeof(*mtd), GFP_KERNEL); in map_rom_probe()
49 if (!mtd) in map_rom_probe()
53 mtd->priv = map; in map_rom_probe()
54 mtd->name = map->name; in map_rom_probe()
55 mtd->type = MTD_ROM; in map_rom_probe()
56 mtd->size = map->size; in map_rom_probe()
[all …]
H A Dmap_absent.c47 struct mtd_info *mtd; in map_absent_probe() local
49 mtd = kzalloc(sizeof(*mtd), GFP_KERNEL); in map_absent_probe()
50 if (!mtd) { in map_absent_probe()
55 mtd->priv = map; in map_absent_probe()
56 mtd->name = map->name; in map_absent_probe()
57 mtd->type = MTD_ABSENT; in map_absent_probe()
58 mtd->size = map->size; in map_absent_probe()
59 mtd->_erase = map_absent_erase; in map_absent_probe()
60 mtd->_read = map_absent_read; in map_absent_probe()
61 mtd->_write = map_absent_write; in map_absent_probe()
[all …]
/linux/drivers/mtd/devices/
H A Dmtdram.c37 static int check_offs_len(struct mtd_info *mtd, loff_t ofs, uint64_t len) in check_offs_len() argument
42 if (mtd_mod_by_eb(ofs, mtd)) { in check_offs_len()
48 if (mtd_mod_by_eb(len, mtd)) { in check_offs_len()
56 static int ram_erase(struct mtd_info *mtd, struct erase_info *instr) in ram_erase() argument
58 if (check_offs_len(mtd, instr->addr, instr->len)) in ram_erase()
60 memset((char *)mtd->priv + instr->addr, 0xff, instr->len); in ram_erase()
65 static int ram_point(struct mtd_info *mtd, loff_t from, size_t len, in ram_point() argument
68 *virt = mtd->priv + from; in ram_point()
94 static int ram_unpoint(struct mtd_info *mtd, loff_t from, size_t len) in ram_unpoint() argument
99 static int ram_read(struct mtd_info *mtd, loff_t from, size_t len, in ram_read() argument
[all …]
H A Dpowernv_flash.c31 struct mtd_info mtd; member
46 static int powernv_flash_async_op(struct mtd_info *mtd, enum flash_op op, in powernv_flash_async_op() argument
49 struct powernv_flash *info = (struct powernv_flash *)mtd->priv; in powernv_flash_async_op()
50 struct device *dev = &mtd->dev; in powernv_flash_async_op()
138 static int powernv_flash_read(struct mtd_info *mtd, loff_t from, size_t len, in powernv_flash_read() argument
141 return powernv_flash_async_op(mtd, FLASH_OP_READ, from, in powernv_flash_read()
155 static int powernv_flash_write(struct mtd_info *mtd, loff_t to, size_t len, in powernv_flash_write() argument
158 return powernv_flash_async_op(mtd, FLASH_OP_WRITE, to, in powernv_flash_write()
168 static int powernv_flash_erase(struct mtd_info *mtd, struct erase_info *erase) in powernv_flash_erase() argument
172 rc = powernv_flash_async_op(mtd, FLASH_OP_ERASE, erase->addr, in powernv_flash_erase()
[all …]
H A Dsst25l.c49 struct mtd_info mtd; member
60 #define to_sst25l_flash(x) container_of(x, struct sst25l_flash, mtd)
166 static int sst25l_erase(struct mtd_info *mtd, struct erase_info *instr) in sst25l_erase() argument
168 struct sst25l_flash *flash = to_sst25l_flash(mtd); in sst25l_erase()
173 if ((uint32_t)instr->len % mtd->erasesize) in sst25l_erase()
176 if ((uint32_t)instr->addr % mtd->erasesize) in sst25l_erase()
198 addr += mtd->erasesize; in sst25l_erase()
206 static int sst25l_read(struct mtd_info *mtd, loff_t from, size_t len, in sst25l_read() argument
209 struct sst25l_flash *flash = to_sst25l_flash(mtd); in sst25l_read()
249 static int sst25l_write(struct mtd_info *mtd, loff_t to, size_t len, in sst25l_write() argument
[all …]
/linux/drivers/mtd/tests/
H A Dstresstest.c32 static struct mtd_info *mtd; variable
73 if (offs >= mtd->erasesize) in do_read()
74 offs -= mtd->erasesize; in do_read()
75 if (offs + len > mtd->erasesize) in do_read()
76 len = mtd->erasesize - offs; in do_read()
78 addr = (loff_t)eb * mtd->erasesize + offs; in do_read()
79 return mtdtest_read(mtd, addr, len, readbuf); in do_read()
88 if (offs >= mtd->erasesize) { in do_write()
89 err = mtdtest_erase_eraseblock(mtd, eb); in do_write()
96 if (offs + len > mtd->erasesize) { in do_write()
[all …]
H A Dspeedtest.c33 static struct mtd_info *mtd; variable
47 loff_t addr = (loff_t)ebnum * mtd->erasesize; in multiblock_erase()
51 ei.len = mtd->erasesize * blocks; in multiblock_erase()
53 err = mtd_erase(mtd, &ei); in multiblock_erase()
65 loff_t addr = (loff_t)ebnum * mtd->erasesize; in write_eraseblock()
67 return mtdtest_write(mtd, addr, mtd->erasesize, iobuf); in write_eraseblock()
73 loff_t addr = (loff_t)ebnum * mtd->erasesize; in write_eraseblock_by_page()
77 err = mtdtest_write(mtd, addr, pgsize, buf); in write_eraseblock_by_page()
91 loff_t addr = (loff_t)ebnum * mtd->erasesize; in write_eraseblock_by_2pages()
95 err = mtdtest_write(mtd, addr, sz, buf); in write_eraseblock_by_2pages()
[all …]
H A Dreadtest.c26 static struct mtd_info *mtd; variable
38 loff_t addr = (loff_t)ebnum * mtd->erasesize; in read_eraseblock_by_page()
44 ret = mtdtest_read(mtd, addr, pgsize, buf); in read_eraseblock_by_page()
49 if (mtd->oobsize) { in read_eraseblock_by_page()
55 ops.ooblen = mtd->oobsize; in read_eraseblock_by_page()
60 ret = mtd_read_oob(mtd, addr, &ops); in read_eraseblock_by_page()
62 ops.oobretlen != mtd->oobsize) { in read_eraseblock_by_page()
70 oobbuf += mtd->oobsize; in read_eraseblock_by_page()
86 n = mtd->erasesize; in dump_eraseblock()
96 if (!mtd->oobsize) in dump_eraseblock()
[all …]
H A Dnandbiterrs.c67 static struct mtd_info *mtd; /* MTD device */ variable
95 return mtdtest_write(mtd, offset, mtd->writesize, wbuffer); in write_page()
108 ops.len = mtd->writesize; in rewrite_page()
116 err = mtd_write_oob(mtd, offset, &ops); in rewrite_page()
117 if (err || ops.retlen != mtd->writesize) { in rewrite_page()
138 memcpy(&oldstats, &mtd->ecc_stats, sizeof(oldstats)); in read_page()
140 err = mtd_read(mtd, offset, mtd->writesize, &read, rbuffer); in read_page()
142 err = mtd->ecc_stats.corrected - oldstats.corrected; in read_page()
144 if (err < 0 || read != mtd->writesize) { in read_page()
161 for (i = 0; i < mtd->writesize; i++) { in verify_page()
[all …]
/linux/drivers/net/ethernet/sfc/siena/
H A Dmtd.c16 #define to_efx_mtd_partition(mtd) \ argument
17 container_of(mtd, struct efx_mtd_partition, mtd)
21 static int efx_mtd_erase(struct mtd_info *mtd, struct erase_info *erase) in efx_mtd_erase() argument
23 struct efx_nic *efx = mtd->priv; in efx_mtd_erase()
25 return efx->type->mtd_erase(mtd, erase->addr, erase->len); in efx_mtd_erase()
28 static void efx_mtd_sync(struct mtd_info *mtd) in efx_mtd_sync() argument
30 struct efx_mtd_partition *part = to_efx_mtd_partition(mtd); in efx_mtd_sync()
31 struct efx_nic *efx = mtd->priv; in efx_mtd_sync()
34 rc = efx->type->mtd_sync(mtd); in efx_mtd_sync()
45 rc = mtd_device_unregister(&part->mtd); in efx_siena_mtd_remove_partition()
[all …]
/linux/drivers/net/ethernet/sfc/
H A Dmtd.c16 #define to_efx_mtd_partition(mtd) \ argument
17 container_of(mtd, struct efx_mtd_partition, mtd)
21 static int efx_mtd_erase(struct mtd_info *mtd, struct erase_info *erase) in efx_mtd_erase() argument
23 struct efx_nic *efx = mtd->priv; in efx_mtd_erase()
25 return efx->type->mtd_erase(mtd, erase->addr, erase->len); in efx_mtd_erase()
28 static void efx_mtd_sync(struct mtd_info *mtd) in efx_mtd_sync() argument
30 struct efx_mtd_partition *part = to_efx_mtd_partition(mtd); in efx_mtd_sync()
31 struct efx_nic *efx = mtd->priv; in efx_mtd_sync()
34 rc = efx->type->mtd_sync(mtd); in efx_mtd_sync()
45 rc = mtd_device_unregister(&part->mtd); in efx_mtd_remove_partition()
[all …]
/linux/drivers/net/ethernet/sfc/falcon/
H A Dmtd.c16 #define to_ef4_mtd_partition(mtd) \ argument
17 container_of(mtd, struct ef4_mtd_partition, mtd)
21 static int ef4_mtd_erase(struct mtd_info *mtd, struct erase_info *erase) in ef4_mtd_erase() argument
23 struct ef4_nic *efx = mtd->priv; in ef4_mtd_erase()
25 return efx->type->mtd_erase(mtd, erase->addr, erase->len); in ef4_mtd_erase()
28 static void ef4_mtd_sync(struct mtd_info *mtd) in ef4_mtd_sync() argument
30 struct ef4_mtd_partition *part = to_ef4_mtd_partition(mtd); in ef4_mtd_sync()
31 struct ef4_nic *efx = mtd->priv; in ef4_mtd_sync()
34 rc = efx->type->mtd_sync(mtd); in ef4_mtd_sync()
45 rc = mtd_device_unregister(&part->mtd); in ef4_mtd_remove_partition()
[all …]
/linux/drivers/mtd/parsers/
H A Dafs.c78 static bool afs_is_v1(struct mtd_info *mtd, u_int off) in afs_is_v1() argument
81 u_int ptr = off + mtd->erasesize - 12; in afs_is_v1()
86 ret = mtd_read(mtd, ptr, 4, &sz, (u_char *)&magic); in afs_is_v1()
98 static bool afs_is_v2(struct mtd_info *mtd, u_int off) in afs_is_v2() argument
101 u_int ptr = off + mtd->erasesize - 8; in afs_is_v2()
106 ret = mtd_read(mtd, ptr, 8, &sz, (u_char *)foot); in afs_is_v2()
119 static int afs_parse_v1_partition(struct mtd_info *mtd, in afs_parse_v1_partition() argument
140 mask = mtd->size - 1; in afs_parse_v1_partition()
142 ptr = off + mtd->erasesize - sizeof(fs); in afs_parse_v1_partition()
143 ret = mtd_read(mtd, ptr, sizeof(fs), &sz, (u_char *)&fs); in afs_parse_v1_partition()
[all …]
/linux/drivers/mtd/nand/onenand/
H A Donenand_samsung.c123 struct mtd_info *mtd; member
218 struct onenand_chip *this = onenand->mtd->priv; in s3c_onenand_readw()
268 struct onenand_chip *this = onenand->mtd->priv; in s3c_onenand_writew()
310 static int s3c_onenand_wait(struct mtd_info *mtd, int state) in s3c_onenand_wait() argument
358 mtd->ecc_stats.failed++; in s3c_onenand_wait()
376 static int s3c_onenand_command(struct mtd_info *mtd, int cmd, loff_t addr, in s3c_onenand_command() argument
379 struct onenand_chip *this = mtd->priv; in s3c_onenand_command()
414 s += (mtd->oobsize >> 2); in s3c_onenand_command()
417 mcount = mtd->writesize >> 2; in s3c_onenand_command()
418 scount = mtd->oobsize >> 2; in s3c_onenand_command()
[all …]

12345678910>>...12