/linux-4.1.27/drivers/mtd/ |
D | mtdcore.c | 84 struct mtd_info *mtd = dev_get_drvdata(dev); in mtd_release() local 85 dev_t index = MTD_DEVT(mtd->index); in mtd_release() 93 struct mtd_info *mtd = dev_get_drvdata(dev); in mtd_cls_suspend() local 95 return mtd ? mtd_suspend(mtd) : 0; in mtd_cls_suspend() 100 struct mtd_info *mtd = dev_get_drvdata(dev); in mtd_cls_resume() local 102 if (mtd) in mtd_cls_resume() 103 mtd_resume(mtd); in mtd_cls_resume() 110 struct mtd_info *mtd = dev_get_drvdata(dev); in mtd_type_show() local 113 switch (mtd->type) { in mtd_type_show() 149 struct mtd_info *mtd = dev_get_drvdata(dev); in mtd_flags_show() local [all …]
|
D | mtdpart.c | 43 struct mtd_info mtd; member 61 static int part_read(struct mtd_info *mtd, loff_t from, size_t len, in part_read() argument 64 struct mtd_part *part = PART(mtd); in part_read() 72 mtd->ecc_stats.failed += in part_read() 75 mtd->ecc_stats.corrected += in part_read() 80 static int part_point(struct mtd_info *mtd, loff_t from, size_t len, in part_point() argument 83 struct mtd_part *part = PART(mtd); in part_point() 89 static int part_unpoint(struct mtd_info *mtd, loff_t from, size_t len) in part_unpoint() argument 91 struct mtd_part *part = PART(mtd); in part_unpoint() 96 static unsigned long part_get_unmapped_area(struct mtd_info *mtd, in part_get_unmapped_area() argument [all …]
|
D | mtdsuper.c | 28 struct mtd_info *mtd = _mtd; in get_sb_mtd_compare() local 30 if (sb->s_mtd == mtd) { in get_sb_mtd_compare() 32 mtd->index, mtd->name); in get_sb_mtd_compare() 37 sb->s_mtd->index, sb->s_mtd->name, mtd->index, mtd->name); in get_sb_mtd_compare() 48 struct mtd_info *mtd = _mtd; in get_sb_mtd_set() local 50 sb->s_mtd = mtd; in get_sb_mtd_set() 51 sb->s_dev = MKDEV(MTD_BLOCK_MAJOR, mtd->index); in get_sb_mtd_set() 52 sb->s_bdi = mtd->backing_dev_info; in get_sb_mtd_set() 61 struct mtd_info *mtd, in mount_mtd_aux() argument 67 sb = sget(fs_type, get_sb_mtd_compare, get_sb_mtd_set, flags, mtd); in mount_mtd_aux() [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 | mtdoops.c | 63 struct mtd_info *mtd; member 95 struct mtd_info *mtd = cxt->mtd; in mtdoops_erase_block() local 96 u32 start_page_offset = mtd_div_by_eb(offset, mtd) * mtd->erasesize; in mtdoops_erase_block() 98 u32 erase_pages = mtd->erasesize / record_size; in mtdoops_erase_block() 106 erase.mtd = mtd; in mtdoops_erase_block() 109 erase.len = mtd->erasesize; in mtdoops_erase_block() 115 ret = mtd_erase(mtd, &erase); in mtdoops_erase_block() 158 struct mtd_info *mtd = cxt->mtd; in mtdoops_workfunc_erase() local 162 if (!mtd) in mtdoops_workfunc_erase() 165 mod = (cxt->nextpage * record_size) % mtd->erasesize; in mtdoops_workfunc_erase() [all …]
|
D | mtdblock.c | 64 static int erase_write (struct mtd_info *mtd, unsigned long pos, in erase_write() argument 78 erase.mtd = mtd; in erase_write() 87 ret = mtd_erase(mtd, &erase); in erase_write() 93 pos, len, mtd->name); in erase_write() 104 ret = mtd_write(mtd, pos, len, &retlen, buf); in erase_write() 115 struct mtd_info *mtd = mtdblk->mbd.mtd; in write_cached_data() local 122 "at 0x%lx, size 0x%x\n", mtd->name, in write_cached_data() 125 ret = erase_write (mtd, mtdblk->cache_offset, in write_cached_data() 145 struct mtd_info *mtd = mtdblk->mbd.mtd; in do_cached_write() local 151 mtd->name, pos, len); in do_cached_write() [all …]
|
D | ssfdc.c | 106 static int get_valid_cis_sector(struct mtd_info *mtd) in get_valid_cis_sector() argument 124 for (k = 0, offset = 0; k < 4; k++, offset += mtd->erasesize) { in get_valid_cis_sector() 125 if (mtd_block_isbad(mtd, offset)) { in get_valid_cis_sector() 126 ret = mtd_read(mtd, offset, SECTOR_SIZE, &retlen, in get_valid_cis_sector() 139 " on %s (mtd%d)\n", mtd->name, in get_valid_cis_sector() 140 mtd->index); in get_valid_cis_sector() 152 static int read_physical_sector(struct mtd_info *mtd, uint8_t *sect_buf, in read_physical_sector() argument 159 ret = mtd_read(mtd, offset, SECTOR_SIZE, &retlen, sect_buf); in read_physical_sector() 167 static int read_raw_oob(struct mtd_info *mtd, loff_t offs, uint8_t *buf) in read_raw_oob() argument 178 ret = mtd_read_oob(mtd, offs, &ops); in read_raw_oob() [all …]
|
D | nftlmount.c | 45 struct mtd_info *mtd = nftl->mbd.mtd; in find_boot_record() local 54 nftl->EraseSize = nftl->mbd.mtd->erasesize; in find_boot_record() 55 nftl->nb_blocks = (u32)nftl->mbd.mtd->size / nftl->EraseSize; in find_boot_record() 66 ret = mtd_read(mtd, block * nftl->EraseSize, SECTORSIZE, in find_boot_record() 75 block * nftl->EraseSize, nftl->mbd.mtd->index, ret); in find_boot_record() 86 block * nftl->EraseSize, nftl->mbd.mtd->index); in find_boot_record() 92 ret = nftl_read_oob(mtd, block * nftl->EraseSize + in find_boot_record() 97 block * nftl->EraseSize, nftl->mbd.mtd->index, ret); in find_boot_record() 107 block * nftl->EraseSize, nftl->mbd.mtd->index, in find_boot_record() 113 ret = mtd->read(mtd, block * nftl->EraseSize, SECTORSIZE, in find_boot_record() [all …]
|
D | afs.c | 70 afs_read_footer(struct mtd_info *mtd, u_int *img_start, u_int *iis_start, in afs_read_footer() argument 74 u_int ptr = off + mtd->erasesize - sizeof(fs); in afs_read_footer() 78 ret = mtd_read(mtd, ptr, sizeof(fs), &sz, (u_char *)&fs); in afs_read_footer() 129 afs_read_iis(struct mtd_info *mtd, struct image_info_struct *iis, u_int ptr) in afs_read_iis() argument 135 ret = mtd_read(mtd, ptr, sizeof(*iis), &sz, (u_char *)iis); in afs_read_iis() 164 static int parse_afs_partitions(struct mtd_info *mtd, in parse_afs_partitions() argument 177 mask = mtd->size - 1; in parse_afs_partitions() 184 for (idx = off = sz = 0; off < mtd->size; off += mtd->erasesize) { in parse_afs_partitions() 188 ret = afs_read_footer(mtd, &img_ptr, &iis_ptr, off, mask); in parse_afs_partitions() 194 ret = afs_read_iis(mtd, &iis, iis_ptr); in parse_afs_partitions() [all …]
|
D | inftlcore.c | 48 static void inftl_add_mtd(struct mtd_blktrans_ops *tr, struct mtd_info *mtd) in inftl_add_mtd() argument 53 if (!mtd_type_is_nand(mtd) || mtd->size > UINT_MAX) in inftl_add_mtd() 56 if (memcmp(mtd->name, "DiskOnChip", 10)) in inftl_add_mtd() 59 if (!mtd->_block_isbad) { in inftl_add_mtd() 66 pr_debug("INFTL: add_mtd for %s\n", mtd->name); in inftl_add_mtd() 73 inftl->mbd.mtd = mtd; in inftl_add_mtd() 149 int inftl_read_oob(struct mtd_info *mtd, loff_t offs, size_t len, in inftl_read_oob() argument 156 ops.ooboffs = offs & (mtd->writesize - 1); in inftl_read_oob() 161 res = mtd_read_oob(mtd, offs & ~(mtd->writesize - 1), &ops); in inftl_read_oob() 169 int inftl_write_oob(struct mtd_info *mtd, loff_t offs, size_t len, in inftl_write_oob() argument [all …]
|
D | nftlcore.c | 48 static void nftl_add_mtd(struct mtd_blktrans_ops *tr, struct mtd_info *mtd) in nftl_add_mtd() argument 53 if (!mtd_type_is_nand(mtd) || mtd->size > UINT_MAX) in nftl_add_mtd() 56 if (memcmp(mtd->name, "DiskOnChip", 10)) in nftl_add_mtd() 59 pr_debug("NFTL: add_mtd for %s\n", mtd->name); in nftl_add_mtd() 66 nftl->mbd.mtd = mtd; in nftl_add_mtd() 136 int nftl_read_oob(struct mtd_info *mtd, loff_t offs, size_t len, in nftl_read_oob() argument 139 loff_t mask = mtd->writesize - 1; in nftl_read_oob() 149 res = mtd_read_oob(mtd, offs & ~mask, &ops); in nftl_read_oob() 157 int nftl_write_oob(struct mtd_info *mtd, loff_t offs, size_t len, in nftl_write_oob() argument 160 loff_t mask = mtd->writesize - 1; in nftl_write_oob() [all …]
|
D | mtdcore.h | 9 int add_mtd_device(struct mtd_info *mtd); 10 int del_mtd_device(struct mtd_info *mtd); 20 #define mtd_for_each_device(mtd) \ argument 21 for ((mtd) = __mtd_next_device(0); \ 22 (mtd) != NULL; \ 23 (mtd) = __mtd_next_device(mtd->index + 1))
|
D | rfd_ftl.c | 126 part->mbd.mtd->name, block_no, i, entry); in build_block_map() 133 part->mbd.mtd->name, entry); in build_block_map() 158 part->total_blocks = (u32)part->mbd.mtd->size / part->block_size; in scan_header() 195 "sector map", part->mbd.mtd->name); in scan_header() 203 rc = mtd_read(part->mbd.mtd, i * part->block_size, in scan_header() 219 part->mbd.mtd->name); in scan_header() 226 part->mbd.mtd->name); in scan_header() 253 rc = mtd_read(part->mbd.mtd, addr, SECTOR_SIZE, &retlen, in rfd_ftl_readsect() 260 "0x%lx\n", part->mbd.mtd->name, addr); in rfd_ftl_readsect() 282 "on '%s'\n", (unsigned long long)erase->addr, part->mbd.mtd->name); in erase_callback() [all …]
|
D | inftlmount.c | 51 struct mtd_info *mtd = inftl->mbd.mtd; in find_boot_record() local 62 inftl->EraseSize = inftl->mbd.mtd->erasesize; in find_boot_record() 63 inftl->nb_blocks = (u32)inftl->mbd.mtd->size / inftl->EraseSize; in find_boot_record() 75 ret = mtd_read(mtd, block * inftl->EraseSize, SECTORSIZE, in find_boot_record() 86 inftl->mbd.mtd->index, ret); in find_boot_record() 101 ret = inftl_read_oob(mtd, in find_boot_record() 108 inftl->mbd.mtd->index, ret); in find_boot_record() 120 mtd_read(mtd, block * inftl->EraseSize + 4096, SECTORSIZE, in find_boot_record() 182 inftl->EraseSize = inftl->mbd.mtd->erasesize << in find_boot_record() 184 inftl->nb_blocks = (u32)inftl->mbd.mtd->size / inftl->EraseSize; in find_boot_record() [all …]
|
D | mtdswap.c | 115 struct mtd_info *mtd; member 201 return (loff_t)(eb - d->eb_data) * d->mtd->erasesize; in mtdswap_eb_offset() 277 if (!mtd_can_have_bb(d->mtd)) in mtdswap_handle_badblock() 282 ret = mtd_block_markbad(d->mtd, offset); in mtdswap_handle_badblock() 315 int ret = mtd_read_oob(d->mtd, from, ops); in mtdswap_read_oob() 346 if (mtd_can_have_bb(d->mtd) && mtd_block_isbad(d->mtd, offset)) in mtdswap_read_markers() 349 ops.ooblen = 2 * d->mtd->ecclayout->oobavail; in mtdswap_read_markers() 362 (d->oob_buf + d->mtd->ecclayout->oobavail); in mtdswap_read_markers() 403 offset = mtdswap_eb_offset(d, eb) + d->mtd->writesize; in mtdswap_write_marker() 406 ret = mtd_write_oob(d->mtd, offset, &ops); in mtdswap_write_marker() [all …]
|
D | mtdblock_ro.c | 34 if (mtd_read(dev->mtd, (block * 512), 512, &retlen, buf)) in mtdblock_readsect() 44 if (mtd_write(dev->mtd, (block * 512), 512, &retlen, buf)) in mtdblock_writesect() 49 static void mtdblock_add_mtd(struct mtd_blktrans_ops *tr, struct mtd_info *mtd) in mtdblock_add_mtd() argument 56 dev->mtd = mtd; in mtdblock_add_mtd() 57 dev->devnum = mtd->index; in mtdblock_add_mtd() 59 dev->size = mtd->size >> 9; in mtdblock_add_mtd()
|
D | mtd_blkdevs.c | 208 if (!dev->mtd) in blktrans_open() 217 ret = __get_mtd_device(dev->mtd); in blktrans_open() 257 if (dev->mtd) { in blktrans_release() 260 __put_mtd_device(dev->mtd); in blktrans_release() 278 if (!dev->mtd) in blktrans_getgeo() 299 if (!dev->mtd) in blktrans_ioctl() 433 tr->name, new->mtd->index); in add_mtd_blktrans_dev() 438 gd->driverfs_dev = &new->mtd->dev; in add_mtd_blktrans_dev() 492 __put_mtd_device(old->mtd); in del_mtd_blktrans_dev() 495 old->mtd = NULL; in del_mtd_blktrans_dev() [all …]
|
D | ftl.c | 164 max_offset = (0x100000<part->mbd.mtd->size)?0x100000:part->mbd.mtd->size; in scan_header() 168 offset += part->mbd.mtd->erasesize ? : 0x2000) { in scan_header() 170 err = mtd_read(part->mbd.mtd, offset, sizeof(header), &ret, in scan_header() 189 if ((1 << header.EraseUnitSize) != part->mbd.mtd->erasesize) { in scan_header() 191 1 << header.EraseUnitSize,part->mbd.mtd->erasesize); in scan_header() 226 ret = mtd_read(part->mbd.mtd, offset, sizeof(header), &retval, in build_maps() 291 ret = mtd_read(part->mbd.mtd, offset, in build_maps() 351 erase->mtd = part->mbd.mtd; in erase_xfer() 357 ret = mtd_erase(part->mbd.mtd, erase); in erase_xfer() 424 ret = mtd_write(part->mbd.mtd, xfer->Offset, sizeof(header), &retlen, in prepare_xfer() [all …]
|
D | sm_ftl.c | 240 struct mtd_info *mtd = ftl->trans->mtd; in sm_read_sector() local 278 ret = mtd_read_oob(mtd, sm_mkoffset(ftl, zone, block, boffset), &ops); in sm_read_sector() 323 struct mtd_info *mtd = ftl->trans->mtd; in sm_write_sector() local 343 ret = mtd_write_oob(mtd, sm_mkoffset(ftl, zone, block, boffset), &ops); in sm_write_sector() 459 struct mtd_info *mtd = ftl->trans->mtd; in sm_erase_block() local 462 erase.mtd = mtd; in sm_erase_block() 478 if (mtd_erase(mtd, &erase)) { in sm_erase_block() 571 static int sm_get_media_info(struct sm_ftl *ftl, struct mtd_info *mtd) in sm_get_media_info() argument 574 int size_in_megs = mtd->size / (1024 * 1024); in sm_get_media_info() 576 ftl->readonly = mtd->type == MTD_ROM; in sm_get_media_info() [all …]
|
D | Kconfig | 92 <mtddef> := <mtd-id>:<partdef>[,<partdef>] 94 <mtd-id> := unique id used in mapping driver/device 100 allowed in the partition definition, including mtd id's and partition 105 1 flash resource (mtd-id "sa1100"), with 1 single writable partition: 136 as described in Documentation/devicetree/bindings/mtd/partition.txt. 307 Provides volatile block device driver on top of mtd partition 325 source "drivers/mtd/chips/Kconfig" 327 source "drivers/mtd/maps/Kconfig" 329 source "drivers/mtd/devices/Kconfig" 331 source "drivers/mtd/nand/Kconfig" [all …]
|
D | Makefile | 6 obj-$(CONFIG_MTD) += mtd.o 7 mtd-y := mtdcore.o mtdsuper.o mtdconcat.o mtdpart.o mtdchar.o
|
/linux-4.1.27/drivers/staging/goldfish/ |
D | goldfish_nand.c | 39 struct mtd_info mtd[0]; member 42 static u32 goldfish_nand_cmd_with_params(struct mtd_info *mtd, in goldfish_nand_cmd_with_params() argument 47 struct goldfish_nand *nand = mtd->priv; in goldfish_nand_cmd_with_params() 67 cps->dev = mtd - nand->mtd; in goldfish_nand_cmd_with_params() 77 static u32 goldfish_nand_cmd(struct mtd_info *mtd, enum nand_cmd cmd, in goldfish_nand_cmd() argument 80 struct goldfish_nand *nand = mtd->priv; in goldfish_nand_cmd() 85 if (goldfish_nand_cmd_with_params(mtd, cmd, addr, len, ptr, &rv)) { in goldfish_nand_cmd() 86 writel(mtd - nand->mtd, base + NAND_DEV); in goldfish_nand_cmd() 98 static int goldfish_nand_erase(struct mtd_info *mtd, struct erase_info *instr) in goldfish_nand_erase() argument 104 if (ofs + len > mtd->size) in goldfish_nand_erase() [all …]
|
/linux-4.1.27/include/linux/mtd/ |
D | mtd.h | 46 struct mtd_info *mtd; member 189 int (*_erase) (struct mtd_info *mtd, struct erase_info *instr); 190 int (*_point) (struct mtd_info *mtd, loff_t from, size_t len, 192 int (*_unpoint) (struct mtd_info *mtd, loff_t from, size_t len); 193 unsigned long (*_get_unmapped_area) (struct mtd_info *mtd, 197 int (*_read) (struct mtd_info *mtd, loff_t from, size_t len, 199 int (*_write) (struct mtd_info *mtd, loff_t to, size_t len, 201 int (*_panic_write) (struct mtd_info *mtd, loff_t to, size_t len, 203 int (*_read_oob) (struct mtd_info *mtd, loff_t from, 205 int (*_write_oob) (struct mtd_info *mtd, loff_t to, [all …]
|
D | nand.h | 30 extern int nand_scan(struct mtd_info *mtd, int max_chips); 35 extern int nand_scan_ident(struct mtd_info *mtd, int max_chips, 37 extern int nand_scan_tail(struct mtd_info *mtd); 40 extern void nand_release(struct mtd_info *mtd); 43 extern void nand_wait_ready(struct mtd_info *mtd); 46 extern int nand_lock(struct mtd_info *mtd, loff_t ofs, uint64_t len); 49 extern int nand_unlock(struct mtd_info *mtd, loff_t ofs, uint64_t len); 497 void (*hwctl)(struct mtd_info *mtd, int mode); 498 int (*calculate)(struct mtd_info *mtd, const uint8_t *dat, 500 int (*correct)(struct mtd_info *mtd, uint8_t *dat, uint8_t *read_ecc, [all …]
|
D | onenand.h | 25 extern int onenand_scan(struct mtd_info *mtd, int max_chips); 27 extern void onenand_release(struct mtd_info *mtd); 107 int (*command)(struct mtd_info *mtd, int cmd, loff_t address, size_t len); 108 int (*wait)(struct mtd_info *mtd, int state); 109 int (*bbt_wait)(struct mtd_info *mtd, int state); 110 void (*unlock_all)(struct mtd_info *mtd); 111 int (*read_bufferram)(struct mtd_info *mtd, int area, 113 int (*write_bufferram)(struct mtd_info *mtd, int area, 117 void (*mmcontrol)(struct mtd_info *mtd, int sync_read); 118 int (*chip_probe)(struct mtd_info *mtd); [all …]
|
D | nand_bch.h | 24 int nand_bch_calculate_ecc(struct mtd_info *mtd, const u_char *dat, 30 int nand_bch_correct_data(struct mtd_info *mtd, u_char *dat, u_char *read_ecc, 36 nand_bch_init(struct mtd_info *mtd, unsigned int eccsize, 48 nand_bch_calculate_ecc(struct mtd_info *mtd, const u_char *dat, in nand_bch_calculate_ecc() argument 55 nand_bch_correct_data(struct mtd_info *mtd, unsigned char *buf, in nand_bch_correct_data() argument 62 nand_bch_init(struct mtd_info *mtd, unsigned int eccsize, in nand_bch_init() argument
|
D | bbm.h | 160 int (*isbad_bbt)(struct mtd_info *mtd, loff_t ofs, int allowbbt); 169 extern int onenand_scan_bbt(struct mtd_info *mtd, struct nand_bbt_descr *bd); 170 extern int onenand_default_bbt(struct mtd_info *mtd);
|
D | nand_ecc.h | 29 int nand_calculate_ecc(struct mtd_info *mtd, const u_char *dat, u_char *ecc_code); 40 int nand_correct_data(struct mtd_info *mtd, u_char *dat, u_char *read_ecc, u_char *calc_ecc);
|
D | partitions.h | 82 int mtd_is_partition(const struct mtd_info *mtd); 86 uint64_t mtd_get_device_size(const struct mtd_info *mtd);
|
D | nftl.h | 59 int nftl_read_oob(struct mtd_info *mtd, loff_t offs, size_t len, 61 int nftl_write_oob(struct mtd_info *mtd, loff_t offs, size_t len,
|
D | inftl.h | 56 int inftl_read_oob(struct mtd_info *mtd, loff_t offs, size_t len, 58 int inftl_write_oob(struct mtd_info *mtd, loff_t offs, size_t len,
|
D | blktrans.h | 37 struct mtd_info *mtd; member 81 void (*add_mtd)(struct mtd_blktrans_ops *tr, struct mtd_info *mtd);
|
D | mtdram.h | 5 int mtdram_init_device(struct mtd_info *mtd, void *mapped_address,
|
D | sh_flctl.h | 146 struct mtd_info mtd; member 189 return container_of(mtdinfo, struct sh_flctl, mtd); in mtd_to_flctl()
|
D | concat.h | 31 void mtd_concat_destroy(struct mtd_info *mtd);
|
/linux-4.1.27/drivers/mtd/nand/ |
D | mpc5121_nfc.c | 121 struct mtd_info mtd; member 133 static void mpc5121_nfc_done(struct mtd_info *mtd); 136 static inline u16 nfc_read(struct mtd_info *mtd, uint reg) in nfc_read() argument 138 struct nand_chip *chip = mtd->priv; in nfc_read() 145 static inline void nfc_write(struct mtd_info *mtd, uint reg, u16 val) in nfc_write() argument 147 struct nand_chip *chip = mtd->priv; in nfc_write() 154 static inline void nfc_set(struct mtd_info *mtd, uint reg, u16 bits) in nfc_set() argument 156 nfc_write(mtd, reg, nfc_read(mtd, reg) | bits); in nfc_set() 160 static inline void nfc_clear(struct mtd_info *mtd, uint reg, u16 bits) in nfc_clear() argument 162 nfc_write(mtd, reg, nfc_read(mtd, reg) & ~bits); in nfc_clear() [all …]
|
D | nand_base.c | 96 static int nand_get_device(struct mtd_info *mtd, int new_state); 98 static int nand_do_write_oob(struct mtd_info *mtd, loff_t to, 107 static int check_offs_len(struct mtd_info *mtd, in check_offs_len() argument 110 struct nand_chip *chip = mtd->priv; in check_offs_len() 134 static void nand_release_device(struct mtd_info *mtd) in nand_release_device() argument 136 struct nand_chip *chip = mtd->priv; in nand_release_device() 152 static uint8_t nand_read_byte(struct mtd_info *mtd) in nand_read_byte() argument 154 struct nand_chip *chip = mtd->priv; in nand_read_byte() 165 static uint8_t nand_read_byte16(struct mtd_info *mtd) in nand_read_byte16() argument 167 struct nand_chip *chip = mtd->priv; in nand_read_byte16() [all …]
|
D | nand_bbt.c | 82 static int nand_update_bbt(struct mtd_info *mtd, loff_t offs); 174 static int read_bbt(struct mtd_info *mtd, uint8_t *buf, int page, int num, in read_bbt() argument 178 struct nand_chip *this = mtd->priv; in read_bbt() 201 res = mtd_read(mtd, from, len, &retlen, buf); in read_bbt() 205 from & ~mtd->writesize); in read_bbt() 209 from & ~mtd->writesize); in read_bbt() 230 mtd->ecc_stats.bbtblocks++; in read_bbt() 247 mtd->ecc_stats.badblocks++; in read_bbt() 267 static int read_abs_bbt(struct mtd_info *mtd, uint8_t *buf, struct nand_bbt_descr *td, int chip) in read_abs_bbt() argument 269 struct nand_chip *this = mtd->priv; in read_abs_bbt() [all …]
|
D | bf5xx_nand.c | 145 struct mtd_info mtd; member 161 static struct bf5xx_nand_info *mtd_to_nand_info(struct mtd_info *mtd) in mtd_to_nand_info() argument 163 return container_of(mtd, struct bf5xx_nand_info, mtd); in mtd_to_nand_info() 185 static void bf5xx_nand_hwcontrol(struct mtd_info *mtd, int cmd, in bf5xx_nand_hwcontrol() argument 206 static int bf5xx_nand_devready(struct mtd_info *mtd) in bf5xx_nand_devready() argument 225 static int bf5xx_nand_correct_data_256(struct mtd_info *mtd, u_char *dat, in bf5xx_nand_correct_data_256() argument 228 struct bf5xx_nand_info *info = mtd_to_nand_info(mtd); in bf5xx_nand_correct_data_256() 304 static int bf5xx_nand_correct_data(struct mtd_info *mtd, u_char *dat, in bf5xx_nand_correct_data() argument 307 struct nand_chip *chip = mtd->priv; in bf5xx_nand_correct_data() 310 ret = bf5xx_nand_correct_data_256(mtd, dat, read_ecc, calc_ecc); in bf5xx_nand_correct_data() [all …]
|
D | socrates_nand.c | 33 struct mtd_info mtd; member 44 static void socrates_nand_write_buf(struct mtd_info *mtd, in socrates_nand_write_buf() argument 48 struct nand_chip *this = mtd->priv; in socrates_nand_write_buf() 64 static void socrates_nand_read_buf(struct mtd_info *mtd, uint8_t *buf, int len) in socrates_nand_read_buf() argument 67 struct nand_chip *this = mtd->priv; in socrates_nand_read_buf() 84 static uint8_t socrates_nand_read_byte(struct mtd_info *mtd) in socrates_nand_read_byte() argument 87 socrates_nand_read_buf(mtd, &byte, sizeof(byte)); in socrates_nand_read_byte() 95 static uint16_t socrates_nand_read_word(struct mtd_info *mtd) in socrates_nand_read_word() argument 98 socrates_nand_read_buf(mtd, (uint8_t *)&word, sizeof(word)); in socrates_nand_read_word() 105 static void socrates_nand_cmd_ctrl(struct mtd_info *mtd, int cmd, in socrates_nand_cmd_ctrl() argument [all …]
|
D | au1550nd.c | 40 static u_char au_read_byte(struct mtd_info *mtd) in au_read_byte() argument 42 struct nand_chip *this = mtd->priv; in au_read_byte() 55 static void au_write_byte(struct mtd_info *mtd, u_char byte) in au_write_byte() argument 57 struct nand_chip *this = mtd->priv; in au_write_byte() 68 static u_char au_read_byte16(struct mtd_info *mtd) in au_read_byte16() argument 70 struct nand_chip *this = mtd->priv; in au_read_byte16() 83 static void au_write_byte16(struct mtd_info *mtd, u_char byte) in au_write_byte16() argument 85 struct nand_chip *this = mtd->priv; in au_write_byte16() 96 static u16 au_read_word(struct mtd_info *mtd) in au_read_word() argument 98 struct nand_chip *this = mtd->priv; in au_read_word() [all …]
|
D | cafe_nand.c | 102 static int cafe_device_ready(struct mtd_info *mtd) in cafe_device_ready() argument 104 struct cafe_priv *cafe = mtd->priv; in cafe_device_ready() 118 static void cafe_write_buf(struct mtd_info *mtd, const uint8_t *buf, int len) in cafe_write_buf() argument 120 struct cafe_priv *cafe = mtd->priv; in cafe_write_buf() 133 static void cafe_read_buf(struct mtd_info *mtd, uint8_t *buf, int len) in cafe_read_buf() argument 135 struct cafe_priv *cafe = mtd->priv; in cafe_read_buf() 147 static uint8_t cafe_read_byte(struct mtd_info *mtd) in cafe_read_byte() argument 149 struct cafe_priv *cafe = mtd->priv; in cafe_read_byte() 152 cafe_read_buf(mtd, &d, 1); in cafe_read_byte() 158 static void cafe_nand_cmdfunc(struct mtd_info *mtd, unsigned command, in cafe_nand_cmdfunc() argument [all …]
|
D | docg4.c | 79 struct mtd_info *mtd; member 242 static void docg4_read_buf(struct mtd_info *mtd, uint8_t *buf, int len) in docg4_read_buf() argument 245 struct nand_chip *nand = mtd->priv; in docg4_read_buf() 253 static void docg4_write_buf16(struct mtd_info *mtd, const uint8_t *buf, int len) in docg4_write_buf16() argument 256 struct nand_chip *nand = mtd->priv; in docg4_write_buf16() 297 static int docg4_wait(struct mtd_info *mtd, struct nand_chip *nand) in docg4_wait() argument 315 static void docg4_select_chip(struct mtd_info *mtd, int chip) in docg4_select_chip() argument 321 struct nand_chip *nand = mtd->priv; in docg4_select_chip() 336 static void reset(struct mtd_info *mtd) in reset() argument 340 struct nand_chip *nand = mtd->priv; in reset() [all …]
|
D | diskonchip.c | 88 static void doc200x_hwcontrol(struct mtd_info *mtd, int cmd, 90 static void doc200x_select_chip(struct mtd_info *mtd, int chip); 297 static void doc2000_write_byte(struct mtd_info *mtd, u_char datum) in doc2000_write_byte() argument 299 struct nand_chip *this = mtd->priv; in doc2000_write_byte() 309 static u_char doc2000_read_byte(struct mtd_info *mtd) in doc2000_read_byte() argument 311 struct nand_chip *this = mtd->priv; in doc2000_read_byte() 324 static void doc2000_writebuf(struct mtd_info *mtd, const u_char *buf, int len) in doc2000_writebuf() argument 326 struct nand_chip *this = mtd->priv; in doc2000_writebuf() 341 static void doc2000_readbuf(struct mtd_info *mtd, u_char *buf, int len) in doc2000_readbuf() argument 343 struct nand_chip *this = mtd->priv; in doc2000_readbuf() [all …]
|
D | fsl_elbc_nand.c | 51 struct mtd_info mtd; member 145 static void set_addr(struct mtd_info *mtd, int column, int page_addr, int oob) in set_addr() argument 147 struct nand_chip *chip = mtd->priv; in set_addr() 196 static int fsl_elbc_run_command(struct mtd_info *mtd) in fsl_elbc_run_command() argument 198 struct nand_chip *chip = mtd->priv; in fsl_elbc_run_command() 245 if (elbc_fcm_ctrl->read_bytes == mtd->writesize + mtd->oobsize) { in fsl_elbc_run_command() 261 mtd->ecc_stats.corrected++; in fsl_elbc_run_command() 300 static void fsl_elbc_cmdfunc(struct mtd_info *mtd, unsigned int command, in fsl_elbc_cmdfunc() argument 303 struct nand_chip *chip = mtd->priv; in fsl_elbc_cmdfunc() 329 set_addr(mtd, 0, page_addr, 0); in fsl_elbc_cmdfunc() [all …]
|
D | lpc32xx_slc.c | 204 struct mtd_info mtd; member 256 static void lpc32xx_nand_cmd_ctrl(struct mtd_info *mtd, int cmd, in lpc32xx_nand_cmd_ctrl() argument 260 struct nand_chip *chip = mtd->priv; in lpc32xx_nand_cmd_ctrl() 282 static int lpc32xx_nand_device_ready(struct mtd_info *mtd) in lpc32xx_nand_device_ready() argument 284 struct nand_chip *chip = mtd->priv; in lpc32xx_nand_device_ready() 315 static void lpc32xx_nand_ecc_enable(struct mtd_info *mtd, int mode) in lpc32xx_nand_ecc_enable() argument 323 static int lpc32xx_nand_ecc_calculate(struct mtd_info *mtd, in lpc32xx_nand_ecc_calculate() argument 337 static uint8_t lpc32xx_nand_read_byte(struct mtd_info *mtd) in lpc32xx_nand_read_byte() argument 339 struct nand_chip *chip = mtd->priv; in lpc32xx_nand_read_byte() 348 static void lpc32xx_nand_read_buf(struct mtd_info *mtd, u_char *buf, int len) in lpc32xx_nand_read_buf() argument [all …]
|
D | fsl_ifc_nand.c | 43 struct mtd_info mtd; member 231 static void set_addr(struct mtd_info *mtd, int column, int page_addr, int oob) in set_addr() argument 233 struct nand_chip *chip = mtd->priv; in set_addr() 246 ifc_nand_ctrl->addr = priv->vbase + buf_num * (mtd->writesize * 2); in set_addr() 251 ifc_nand_ctrl->index += mtd->writesize; in set_addr() 254 static int is_blank(struct mtd_info *mtd, unsigned int bufnum) in is_blank() argument 256 struct nand_chip *chip = mtd->priv; in is_blank() 258 u8 __iomem *addr = priv->vbase + bufnum * (mtd->writesize * 2); in is_blank() 260 u8 __iomem *oob = addr + mtd->writesize; in is_blank() 263 for (i = 0; i < mtd->writesize / 4; i++) { in is_blank() [all …]
|
D | hisi504_nand.c | 137 struct mtd_info mtd; member 192 struct mtd_info *mtd = &host->mtd; in hisi_nfc_dma_transfer() local 193 struct nand_chip *chip = mtd->priv; in hisi_nfc_dma_transfer() 201 hinfc_write(host, ((mtd->oobsize & HINFC504_DMA_LEN_OOB_MASK) in hisi_nfc_dma_transfer() 265 struct mtd_info *mtd = &host->mtd; in hisi_nfc_send_cmd_readstart() local 279 hinfc_write(host, mtd->writesize + mtd->oobsize, in hisi_nfc_send_cmd_readstart() 358 static void hisi_nfc_select_chip(struct mtd_info *mtd, int chipselect) in hisi_nfc_select_chip() argument 360 struct nand_chip *chip = mtd->priv; in hisi_nfc_select_chip() 369 static uint8_t hisi_nfc_read_byte(struct mtd_info *mtd) in hisi_nfc_read_byte() argument 371 struct nand_chip *chip = mtd->priv; in hisi_nfc_read_byte() [all …]
|
D | sh_flctl.c | 192 static void set_addr(struct mtd_info *mtd, int column, int page_addr) in set_addr() argument 194 struct sh_flctl *flctl = mtd_to_flctl(mtd); in set_addr() 500 static void set_cmd_regs(struct mtd_info *mtd, uint32_t cmd, uint32_t flcmcdr_val) in set_cmd_regs() argument 502 struct sh_flctl *flctl = mtd_to_flctl(mtd); in set_cmd_regs() 562 static int flctl_read_page_hwecc(struct mtd_info *mtd, struct nand_chip *chip, in flctl_read_page_hwecc() argument 565 chip->read_buf(mtd, buf, mtd->writesize); in flctl_read_page_hwecc() 567 chip->read_buf(mtd, chip->oob_poi, mtd->oobsize); in flctl_read_page_hwecc() 571 static int flctl_write_page_hwecc(struct mtd_info *mtd, struct nand_chip *chip, in flctl_write_page_hwecc() argument 574 chip->write_buf(mtd, buf, mtd->writesize); in flctl_write_page_hwecc() 575 chip->write_buf(mtd, chip->oob_poi, mtd->oobsize); in flctl_write_page_hwecc() [all …]
|
D | mxc_nand.c | 153 void (*select_chip)(struct mtd_info *mtd, int chip); 154 int (*correct_data)(struct mtd_info *mtd, u_char *dat, 176 struct mtd_info mtd; member 500 static void send_page_v3(struct mtd_info *mtd, unsigned int ops) in send_page_v3() argument 502 struct nand_chip *nand_chip = mtd->priv; in send_page_v3() 516 static void send_page_v2(struct mtd_info *mtd, unsigned int ops) in send_page_v2() argument 518 struct nand_chip *nand_chip = mtd->priv; in send_page_v2() 530 static void send_page_v1(struct mtd_info *mtd, unsigned int ops) in send_page_v1() argument 532 struct nand_chip *nand_chip = mtd->priv; in send_page_v1() 536 if (mtd->writesize > 512) in send_page_v1() [all …]
|
D | txx9ndfmc.c | 66 struct mtd_info mtd; member 80 static struct platform_device *mtd_to_platdev(struct mtd_info *mtd) in mtd_to_platdev() argument 82 struct nand_chip *chip = mtd->priv; in mtd_to_platdev() 106 static uint8_t txx9ndfmc_read_byte(struct mtd_info *mtd) in txx9ndfmc_read_byte() argument 108 struct platform_device *dev = mtd_to_platdev(mtd); in txx9ndfmc_read_byte() 113 static void txx9ndfmc_write_buf(struct mtd_info *mtd, const uint8_t *buf, in txx9ndfmc_write_buf() argument 116 struct platform_device *dev = mtd_to_platdev(mtd); in txx9ndfmc_write_buf() 126 static void txx9ndfmc_read_buf(struct mtd_info *mtd, uint8_t *buf, int len) in txx9ndfmc_read_buf() argument 128 struct platform_device *dev = mtd_to_platdev(mtd); in txx9ndfmc_read_buf() 135 static void txx9ndfmc_cmd_ctrl(struct mtd_info *mtd, int cmd, in txx9ndfmc_cmd_ctrl() argument [all …]
|
D | nuc900_nand.c | 58 struct mtd_info mtd; member 78 static unsigned char nuc900_nand_read_byte(struct mtd_info *mtd) in nuc900_nand_read_byte() argument 83 nand = container_of(mtd, struct nuc900_nand, mtd); in nuc900_nand_read_byte() 90 static void nuc900_nand_read_buf(struct mtd_info *mtd, in nuc900_nand_read_buf() argument 96 nand = container_of(mtd, struct nuc900_nand, mtd); in nuc900_nand_read_buf() 102 static void nuc900_nand_write_buf(struct mtd_info *mtd, in nuc900_nand_write_buf() argument 108 nand = container_of(mtd, struct nuc900_nand, mtd); in nuc900_nand_write_buf() 125 static int nuc900_nand_devready(struct mtd_info *mtd) in nuc900_nand_devready() argument 130 nand = container_of(mtd, struct nuc900_nand, mtd); in nuc900_nand_devready() 136 static void nuc900_nand_command_lp(struct mtd_info *mtd, unsigned int command, in nuc900_nand_command_lp() argument [all …]
|
D | omap2.c | 155 struct mtd_info mtd; member 248 static void omap_hwcontrol(struct mtd_info *mtd, int cmd, unsigned int ctrl) in omap_hwcontrol() argument 250 struct omap_nand_info *info = container_of(mtd, in omap_hwcontrol() 251 struct omap_nand_info, mtd); in omap_hwcontrol() 271 static void omap_read_buf8(struct mtd_info *mtd, u_char *buf, int len) in omap_read_buf8() argument 273 struct nand_chip *nand = mtd->priv; in omap_read_buf8() 284 static void omap_write_buf8(struct mtd_info *mtd, const u_char *buf, int len) in omap_write_buf8() argument 286 struct omap_nand_info *info = container_of(mtd, in omap_write_buf8() 287 struct omap_nand_info, mtd); in omap_write_buf8() 307 static void omap_read_buf16(struct mtd_info *mtd, u_char *buf, int len) in omap_read_buf16() argument [all …]
|
D | tmio_nand.c | 106 struct mtd_info mtd; member 122 #define mtd_to_tmio(m) container_of(m, struct tmio_nand, mtd) 127 static void tmio_nand_hwcontrol(struct mtd_info *mtd, int cmd, in tmio_nand_hwcontrol() argument 130 struct tmio_nand *tmio = mtd_to_tmio(mtd); in tmio_nand_hwcontrol() 131 struct nand_chip *chip = mtd->priv; in tmio_nand_hwcontrol() 160 static int tmio_nand_dev_ready(struct mtd_info *mtd) in tmio_nand_dev_ready() argument 162 struct tmio_nand *tmio = mtd_to_tmio(mtd); in tmio_nand_dev_ready() 189 tmio_nand_wait(struct mtd_info *mtd, struct nand_chip *nand_chip) in tmio_nand_wait() argument 191 struct tmio_nand *tmio = mtd_to_tmio(mtd); in tmio_nand_wait() 199 tmio_nand_dev_ready(mtd), in tmio_nand_wait() [all …]
|
D | sharpsl.c | 32 struct mtd_info mtd; member 38 #define mtd_to_sharpsl(_mtd) container_of(_mtd, struct sharpsl_nand, mtd) 65 static void sharpsl_nand_hwcontrol(struct mtd_info *mtd, int cmd, in sharpsl_nand_hwcontrol() argument 68 struct sharpsl_nand *sharpsl = mtd_to_sharpsl(mtd); in sharpsl_nand_hwcontrol() 69 struct nand_chip *chip = mtd->priv; in sharpsl_nand_hwcontrol() 85 static int sharpsl_nand_dev_ready(struct mtd_info *mtd) in sharpsl_nand_dev_ready() argument 87 struct sharpsl_nand *sharpsl = mtd_to_sharpsl(mtd); in sharpsl_nand_dev_ready() 91 static void sharpsl_nand_enable_hwecc(struct mtd_info *mtd, int mode) in sharpsl_nand_enable_hwecc() argument 93 struct sharpsl_nand *sharpsl = mtd_to_sharpsl(mtd); in sharpsl_nand_enable_hwecc() 97 static int sharpsl_nand_calculate_ecc(struct mtd_info *mtd, const u_char * dat, u_char * ecc_code) in sharpsl_nand_calculate_ecc() argument [all …]
|
D | jz4740_nand.c | 61 struct mtd_info mtd; member 76 static inline struct jz_nand *mtd_to_jz_nand(struct mtd_info *mtd) in mtd_to_jz_nand() argument 78 return container_of(mtd, struct jz_nand, mtd); in mtd_to_jz_nand() 81 static void jz_nand_select_chip(struct mtd_info *mtd, int chipnr) in jz_nand_select_chip() argument 83 struct jz_nand *nand = mtd_to_jz_nand(mtd); in jz_nand_select_chip() 84 struct nand_chip *chip = mtd->priv; in jz_nand_select_chip() 103 static void jz_nand_cmd_ctrl(struct mtd_info *mtd, int dat, unsigned int ctrl) in jz_nand_cmd_ctrl() argument 105 struct jz_nand *nand = mtd_to_jz_nand(mtd); in jz_nand_cmd_ctrl() 106 struct nand_chip *chip = mtd->priv; in jz_nand_cmd_ctrl() 131 static int jz_nand_dev_ready(struct mtd_info *mtd) in jz_nand_dev_ready() argument [all …]
|
D | lpc32xx_mlc.c | 176 struct mtd_info mtd; member 275 static void lpc32xx_nand_cmd_ctrl(struct mtd_info *mtd, int cmd, in lpc32xx_nand_cmd_ctrl() argument 278 struct nand_chip *nand_chip = mtd->priv; in lpc32xx_nand_cmd_ctrl() 292 static int lpc32xx_nand_device_ready(struct mtd_info *mtd) in lpc32xx_nand_device_ready() argument 294 struct nand_chip *nand_chip = mtd->priv; in lpc32xx_nand_device_ready() 319 static int lpc32xx_waitfunc_nand(struct mtd_info *mtd, struct nand_chip *chip) in lpc32xx_waitfunc_nand() argument 330 dev_dbg(&mtd->dev, "Warning: NAND not ready.\n"); in lpc32xx_waitfunc_nand() 338 static int lpc32xx_waitfunc_controller(struct mtd_info *mtd, in lpc32xx_waitfunc_controller() argument 350 dev_dbg(&mtd->dev, "Warning: Controller not ready.\n"); in lpc32xx_waitfunc_controller() 358 static int lpc32xx_waitfunc(struct mtd_info *mtd, struct nand_chip *chip) in lpc32xx_waitfunc() argument [all …]
|
D | ndfc.c | 42 struct mtd_info mtd; member 50 static void ndfc_select_chip(struct mtd_info *mtd, int chip) in ndfc_select_chip() argument 53 struct nand_chip *nchip = mtd->priv; in ndfc_select_chip() 65 static void ndfc_hwcontrol(struct mtd_info *mtd, int cmd, unsigned int ctrl) in ndfc_hwcontrol() argument 67 struct nand_chip *chip = mtd->priv; in ndfc_hwcontrol() 79 static int ndfc_ready(struct mtd_info *mtd) in ndfc_ready() argument 81 struct nand_chip *chip = mtd->priv; in ndfc_ready() 87 static void ndfc_enable_hwecc(struct mtd_info *mtd, int mode) in ndfc_enable_hwecc() argument 90 struct nand_chip *chip = mtd->priv; in ndfc_enable_hwecc() 99 static int ndfc_calculate_ecc(struct mtd_info *mtd, in ndfc_calculate_ecc() argument [all …]
|
D | fsl_upm.c | 34 struct mtd_info mtd; member 52 return container_of(mtdinfo, struct fsl_upm_nand, mtd); in to_fsl_upm_nand() 55 static int fun_chip_ready(struct mtd_info *mtd) in fun_chip_ready() argument 57 struct fsl_upm_nand *fun = to_fsl_upm_nand(mtd); in fun_chip_ready() 71 while (--cnt && !fun_chip_ready(&fun->mtd)) in fun_wait_rnb() 80 static void fun_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl) in fun_cmd_ctrl() argument 82 struct nand_chip *chip = mtd->priv; in fun_cmd_ctrl() 83 struct fsl_upm_nand *fun = to_fsl_upm_nand(mtd); in fun_cmd_ctrl() 110 static void fun_select_chip(struct mtd_info *mtd, int mchip_nr) in fun_select_chip() argument 112 struct nand_chip *chip = mtd->priv; in fun_select_chip() [all …]
|
D | atmel_nand.c | 119 struct mtd_info mtd; member 183 static void atmel_nand_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl) in atmel_nand_cmd_ctrl() argument 185 struct nand_chip *nand_chip = mtd->priv; in atmel_nand_cmd_ctrl() 206 static int atmel_nand_device_ready(struct mtd_info *mtd) in atmel_nand_device_ready() argument 208 struct nand_chip *nand_chip = mtd->priv; in atmel_nand_device_ready() 216 static int atmel_nand_set_enable_ready_pins(struct mtd_info *mtd) in atmel_nand_set_enable_ready_pins() argument 218 struct nand_chip *chip = mtd->priv; in atmel_nand_set_enable_ready_pins() 268 static void atmel_read_buf8(struct mtd_info *mtd, u8 *buf, int len) in atmel_read_buf8() argument 270 struct nand_chip *nand_chip = mtd->priv; in atmel_read_buf8() 281 static void atmel_read_buf16(struct mtd_info *mtd, u8 *buf, int len) in atmel_read_buf16() argument [all …]
|
D | sunxi_nand.c | 222 struct mtd_info mtd; member 334 static int sunxi_nfc_dev_ready(struct mtd_info *mtd) in sunxi_nfc_dev_ready() argument 336 struct nand_chip *nand = mtd->priv; in sunxi_nfc_dev_ready() 372 static void sunxi_nfc_select_chip(struct mtd_info *mtd, int chip) in sunxi_nfc_select_chip() argument 374 struct nand_chip *nand = mtd->priv; in sunxi_nfc_select_chip() 402 writel(mtd->writesize, nfc->regs + NFC_REG_SPARE_AREA); in sunxi_nfc_select_chip() 415 static void sunxi_nfc_read_buf(struct mtd_info *mtd, uint8_t *buf, int len) in sunxi_nfc_read_buf() argument 417 struct nand_chip *nand = mtd->priv; in sunxi_nfc_read_buf() 447 static void sunxi_nfc_write_buf(struct mtd_info *mtd, const uint8_t *buf, in sunxi_nfc_write_buf() argument 450 struct nand_chip *nand = mtd->priv; in sunxi_nfc_write_buf() [all …]
|
D | cs553x_nand.c | 98 static void cs553x_read_buf(struct mtd_info *mtd, u_char *buf, int len) in cs553x_read_buf() argument 100 struct nand_chip *this = mtd->priv; in cs553x_read_buf() 110 static void cs553x_write_buf(struct mtd_info *mtd, const u_char *buf, int len) in cs553x_write_buf() argument 112 struct nand_chip *this = mtd->priv; in cs553x_write_buf() 122 static unsigned char cs553x_read_byte(struct mtd_info *mtd) in cs553x_read_byte() argument 124 struct nand_chip *this = mtd->priv; in cs553x_read_byte() 128 static void cs553x_write_byte(struct mtd_info *mtd, u_char byte) in cs553x_write_byte() argument 130 struct nand_chip *this = mtd->priv; in cs553x_write_byte() 140 static void cs553x_hwcontrol(struct mtd_info *mtd, int cmd, in cs553x_hwcontrol() argument 143 struct nand_chip *this = mtd->priv; in cs553x_hwcontrol() [all …]
|
D | s3c2410.c | 107 struct mtd_info mtd; member 169 static struct s3c2410_nand_mtd *s3c2410_nand_mtd_toours(struct mtd_info *mtd) in s3c2410_nand_mtd_toours() argument 171 return container_of(mtd, struct s3c2410_nand_mtd, mtd); in s3c2410_nand_mtd_toours() 174 static struct s3c2410_nand_info *s3c2410_nand_mtd_toinfo(struct mtd_info *mtd) in s3c2410_nand_mtd_toinfo() argument 176 return s3c2410_nand_mtd_toours(mtd)->info; in s3c2410_nand_mtd_toinfo() 381 static void s3c2410_nand_select_chip(struct mtd_info *mtd, int chip) in s3c2410_nand_select_chip() argument 385 struct nand_chip *this = mtd->priv; in s3c2410_nand_select_chip() 423 static void s3c2410_nand_hwcontrol(struct mtd_info *mtd, int cmd, in s3c2410_nand_hwcontrol() argument 426 struct s3c2410_nand_info *info = s3c2410_nand_mtd_toinfo(mtd); in s3c2410_nand_hwcontrol() 439 static void s3c2440_nand_hwcontrol(struct mtd_info *mtd, int cmd, in s3c2440_nand_hwcontrol() argument [all …]
|
D | pxa3xx_nand.c | 165 struct mtd_info *mtd; member 393 struct mtd_info *mtd) in pxa3xx_set_datasize() argument 397 info->data_size = mtd->writesize; in pxa3xx_set_datasize() 743 struct mtd_info *mtd = host->mtd; in prepare_start_command() local 763 pxa3xx_set_datasize(info, mtd); in prepare_start_command() 782 info->buf_count = mtd->writesize + mtd->oobsize; in prepare_start_command() 793 struct mtd_info *mtd; in prepare_set_command() local 796 mtd = host->mtd; in prepare_set_command() 820 info->buf_start += mtd->writesize; in prepare_set_command() 827 if (mtd->writesize == PAGE_CHUNK_SIZE) { in prepare_set_command() [all …]
|
D | orion_nand.c | 26 static void orion_nand_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl) in orion_nand_cmd_ctrl() argument 28 struct nand_chip *nc = mtd->priv; in orion_nand_cmd_ctrl() 48 static void orion_nand_read_buf(struct mtd_info *mtd, uint8_t *buf, int len) in orion_nand_read_buf() argument 50 struct nand_chip *chip = mtd->priv; in orion_nand_read_buf() 78 struct mtd_info *mtd; in orion_nand_probe() local 93 mtd = (struct mtd_info *)(nc + 1); in orion_nand_probe() 126 mtd->priv = nc; in orion_nand_probe() 127 mtd->owner = THIS_MODULE; in orion_nand_probe() 148 platform_set_drvdata(pdev, mtd); in orion_nand_probe() 158 if (nand_scan(mtd, 1)) { in orion_nand_probe() [all …]
|
D | fsmc_nand.c | 302 struct mtd_info mtd; member 330 static void fsmc_select_chip(struct mtd_info *mtd, int chipnr) in fsmc_select_chip() argument 332 struct nand_chip *chip = mtd->priv; in fsmc_select_chip() 335 host = container_of(mtd, struct fsmc_nand_data, mtd); in fsmc_select_chip() 339 chip->cmd_ctrl(mtd, NAND_CMD_NONE, 0 | NAND_CTRL_CHANGE); in fsmc_select_chip() 359 static void fsmc_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl) in fsmc_cmd_ctrl() argument 361 struct nand_chip *this = mtd->priv; in fsmc_cmd_ctrl() 362 struct fsmc_nand_data *host = container_of(mtd, in fsmc_cmd_ctrl() 363 struct fsmc_nand_data, mtd); in fsmc_cmd_ctrl() 446 static void fsmc_enable_hwecc(struct mtd_info *mtd, int mode) in fsmc_enable_hwecc() argument [all …]
|
D | denali.c | 78 #define mtd_to_denali(m) container_of(m, struct denali_nand_info, mtd) 859 static int write_oob_data(struct mtd_info *mtd, uint8_t *buf, int page) in write_oob_data() argument 861 struct denali_nand_info *denali = mtd_to_denali(mtd); in write_oob_data() 871 write_data_to_flash_mem(denali, buf, mtd->oobsize); in write_oob_data() 888 static void read_oob_data(struct mtd_info *mtd, uint8_t *buf, int page) in read_oob_data() argument 890 struct denali_nand_info *denali = mtd_to_denali(mtd); in read_oob_data() 898 read_data_from_flash_mem(denali, buf, mtd->oobsize); in read_oob_data() 989 denali->mtd.ecc_stats.corrected++; in handle_ecc() 1051 static int write_page(struct mtd_info *mtd, struct nand_chip *chip, in write_page() argument 1054 struct denali_nand_info *denali = mtd_to_denali(mtd); in write_page() [all …]
|
D | davinci_nand.c | 56 struct mtd_info mtd; member 83 #define to_davinci_nand(m) container_of(m, struct davinci_nand_info, mtd) 104 static void nand_davinci_hwcontrol(struct mtd_info *mtd, int cmd, in nand_davinci_hwcontrol() argument 107 struct davinci_nand_info *info = to_davinci_nand(mtd); in nand_davinci_hwcontrol() 109 struct nand_chip *nand = mtd->priv; in nand_davinci_hwcontrol() 125 static void nand_davinci_select_chip(struct mtd_info *mtd, int chip) in nand_davinci_select_chip() argument 127 struct davinci_nand_info *info = to_davinci_nand(mtd); in nand_davinci_select_chip() 145 static inline uint32_t nand_davinci_readecc_1bit(struct mtd_info *mtd) in nand_davinci_readecc_1bit() argument 147 struct davinci_nand_info *info = to_davinci_nand(mtd); in nand_davinci_readecc_1bit() 153 static void nand_davinci_hwctl_1bit(struct mtd_info *mtd, int mode) in nand_davinci_hwctl_1bit() argument [all …]
|
D | r852.c | 65 static inline struct r852_device *r852_get_dev(struct mtd_info *mtd) in r852_get_dev() argument 67 struct nand_chip *chip = mtd->priv; in r852_get_dev() 232 static void r852_write_buf(struct mtd_info *mtd, const uint8_t *buf, int len) in r852_write_buf() argument 234 struct r852_device *dev = r852_get_dev(mtd); in r852_write_buf() 266 static void r852_read_buf(struct mtd_info *mtd, uint8_t *buf, int len) in r852_read_buf() argument 268 struct r852_device *dev = r852_get_dev(mtd); in r852_read_buf() 303 static uint8_t r852_read_byte(struct mtd_info *mtd) in r852_read_byte() argument 305 struct r852_device *dev = r852_get_dev(mtd); in r852_read_byte() 317 static void r852_cmdctl(struct mtd_info *mtd, int dat, unsigned int ctrl) in r852_cmdctl() argument 319 struct r852_device *dev = r852_get_dev(mtd); in r852_cmdctl() [all …]
|
D | sm_common.c | 41 static int sm_block_markbad(struct mtd_info *mtd, loff_t ofs) in sm_block_markbad() argument 54 ops.ooblen = mtd->oobsize; in sm_block_markbad() 59 ret = mtd_write_oob(mtd, ofs, &ops); in sm_block_markbad() 103 int sm_register_device(struct mtd_info *mtd, int smartmedia) in sm_register_device() argument 105 struct nand_chip *chip = mtd->priv; in sm_register_device() 111 ret = nand_scan_ident(mtd, 1, smartmedia ? in sm_register_device() 123 if (mtd->writesize == SM_SECTOR_SIZE) in sm_register_device() 125 else if (mtd->writesize == SM_SMALL_PAGE) in sm_register_device() 130 ret = nand_scan_tail(mtd); in sm_register_device() 135 return mtd_device_register(mtd, NULL, 0); in sm_register_device()
|
D | nand_bch.c | 52 int nand_bch_calculate_ecc(struct mtd_info *mtd, const unsigned char *buf, in nand_bch_calculate_ecc() argument 55 const struct nand_chip *chip = mtd->priv; in nand_bch_calculate_ecc() 79 int nand_bch_correct_data(struct mtd_info *mtd, unsigned char *buf, in nand_bch_correct_data() argument 82 const struct nand_chip *chip = mtd->priv; in nand_bch_correct_data() 127 nand_bch_init(struct mtd_info *mtd, unsigned int eccsize, unsigned int eccbytes, in nand_bch_init() argument 158 eccsteps = mtd->writesize/eccsize; in nand_bch_init() 164 if (mtd->oobsize < 64) { in nand_bch_init() 166 "oobsize %d\n", mtd->oobsize); in nand_bch_init() 174 if (layout->eccbytes+2 > mtd->oobsize) { in nand_bch_init() 176 "for oobsize %d eccbytes %u\n", mtd->oobsize, in nand_bch_init() [all …]
|
D | ams-delta.c | 65 static void ams_delta_write_byte(struct mtd_info *mtd, u_char byte) in ams_delta_write_byte() argument 67 struct nand_chip *this = mtd->priv; in ams_delta_write_byte() 77 static u_char ams_delta_read_byte(struct mtd_info *mtd) in ams_delta_read_byte() argument 80 struct nand_chip *this = mtd->priv; in ams_delta_read_byte() 92 static void ams_delta_write_buf(struct mtd_info *mtd, const u_char *buf, in ams_delta_write_buf() argument 98 ams_delta_write_byte(mtd, buf[i]); in ams_delta_write_buf() 101 static void ams_delta_read_buf(struct mtd_info *mtd, u_char *buf, int len) in ams_delta_read_buf() argument 106 buf[i] = ams_delta_read_byte(mtd); in ams_delta_read_buf() 117 static void ams_delta_hwcontrol(struct mtd_info *mtd, int cmd, in ams_delta_hwcontrol() argument 131 ams_delta_write_byte(mtd, cmd); in ams_delta_hwcontrol() [all …]
|
D | cmx270_nand.c | 54 static u_char cmx270_read_byte(struct mtd_info *mtd) in cmx270_read_byte() argument 56 struct nand_chip *this = mtd->priv; in cmx270_read_byte() 61 static void cmx270_write_buf(struct mtd_info *mtd, const u_char *buf, int len) in cmx270_write_buf() argument 64 struct nand_chip *this = mtd->priv; in cmx270_write_buf() 70 static void cmx270_read_buf(struct mtd_info *mtd, u_char *buf, int len) in cmx270_read_buf() argument 73 struct nand_chip *this = mtd->priv; in cmx270_read_buf() 94 static void cmx270_hwcontrol(struct mtd_info *mtd, int dat, in cmx270_hwcontrol() argument 97 struct nand_chip* this = mtd->priv; in cmx270_hwcontrol() 128 static int cmx270_device_ready(struct mtd_info *mtd) in cmx270_device_ready() argument
|
D | plat_nand.c | 23 struct mtd_info mtd; member 63 data->mtd.priv = &data->chip; in plat_nand_probe() 64 data->mtd.owner = THIS_MODULE; in plat_nand_probe() 65 data->mtd.name = dev_name(&pdev->dev); in plat_nand_probe() 93 if (nand_scan(&data->mtd, pdata->chip.nr_chips)) { in plat_nand_probe() 101 err = mtd_device_parse_register(&data->mtd, part_types, &ppdata, in plat_nand_probe() 108 nand_release(&data->mtd); in plat_nand_probe() 123 nand_release(&data->mtd); in plat_nand_remove()
|
D | pasemi_nand.c | 46 static void pasemi_read_buf(struct mtd_info *mtd, u_char *buf, int len) in pasemi_read_buf() argument 48 struct nand_chip *chip = mtd->priv; in pasemi_read_buf() 58 static void pasemi_write_buf(struct mtd_info *mtd, const u_char *buf, int len) in pasemi_write_buf() argument 60 struct nand_chip *chip = mtd->priv; in pasemi_write_buf() 70 static void pasemi_hwcontrol(struct mtd_info *mtd, int cmd, in pasemi_hwcontrol() argument 73 struct nand_chip *chip = mtd->priv; in pasemi_hwcontrol() 88 int pasemi_device_ready(struct mtd_info *mtd) in pasemi_device_ready() argument
|
D | xway_nand.c | 73 static void xway_select_chip(struct mtd_info *mtd, int chip) in xway_select_chip() argument 90 static void xway_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl) in xway_cmd_ctrl() argument 92 struct nand_chip *this = mtd->priv; in xway_cmd_ctrl() 114 static int xway_dev_ready(struct mtd_info *mtd) in xway_dev_ready() argument 119 static unsigned char xway_read_byte(struct mtd_info *mtd) in xway_read_byte() argument 121 struct nand_chip *this = mtd->priv; in xway_read_byte()
|
D | nandsim.c | 667 static int init_nandsim(struct mtd_info *mtd) in init_nandsim() argument 669 struct nand_chip *chip = mtd->priv; in init_nandsim() 685 ns->geom.totsz = mtd->size; in init_nandsim() 686 ns->geom.pgsz = mtd->writesize; in init_nandsim() 687 ns->geom.oobsz = mtd->oobsize; in init_nandsim() 688 ns->geom.secsz = mtd->erasesize; in init_nandsim() 816 static int parse_badblocks(struct nandsim *ns, struct mtd_info *mtd) in parse_badblocks() argument 834 if (mtd_block_markbad(mtd, offset)) { in parse_badblocks() 1015 static int setup_wear_reporting(struct mtd_info *mtd) in setup_wear_reporting() argument 1019 wear_eb_count = div_u64(mtd->size, mtd->erasesize); in setup_wear_reporting() [all …]
|
D | gpio.c | 72 static void gpio_nand_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl) in gpio_nand_cmd_ctrl() argument 74 struct gpiomtd *gpiomtd = gpio_nand_getpriv(mtd); in gpio_nand_cmd_ctrl() 91 static int gpio_nand_devready(struct mtd_info *mtd) in gpio_nand_devready() argument 93 struct gpiomtd *gpiomtd = gpio_nand_getpriv(mtd); in gpio_nand_devready()
|
D | nand_ecc.c | 423 int nand_calculate_ecc(struct mtd_info *mtd, const unsigned char *buf, in nand_calculate_ecc() argument 427 ((struct nand_chip *)mtd->priv)->ecc.size, code); in nand_calculate_ecc() 523 int nand_correct_data(struct mtd_info *mtd, unsigned char *buf, in nand_correct_data() argument 527 ((struct nand_chip *)mtd->priv)->ecc.size); in nand_correct_data()
|
D | sm_common.h | 39 extern int sm_register_device(struct mtd_info *mtd, int smartmedia);
|
/linux-4.1.27/drivers/mtd/onenand/ |
D | onenand_base.c | 349 int flexonenand_region(struct mtd_info *mtd, loff_t addr) in flexonenand_region() argument 353 for (i = 0; i < mtd->numeraseregions; i++) in flexonenand_region() 354 if (addr < mtd->eraseregions[i].offset) in flexonenand_region() 370 static int onenand_command(struct mtd_info *mtd, int cmd, loff_t addr, size_t len) in onenand_command() argument 372 struct onenand_chip *this = mtd->priv; in onenand_command() 525 static int onenand_wait(struct mtd_info *mtd, int state) in onenand_wait() argument 527 struct onenand_chip * this = mtd->priv; in onenand_wait() 560 mtd->ecc_stats.failed++; in onenand_wait() 565 mtd->ecc_stats.corrected++; in onenand_wait() 623 static int onenand_interrupt_wait(struct mtd_info *mtd, int state) in onenand_interrupt_wait() argument [all …]
|
D | onenand_bbt.c | 57 static int create_bbt(struct mtd_info *mtd, uint8_t *buf, struct nand_bbt_descr *bd, int chip) in create_bbt() argument 59 struct onenand_chip *this = mtd->priv; in create_bbt() 95 ret = onenand_bbt_read_oob(mtd, in create_bbt() 107 mtd->ecc_stats.badblocks++; in create_bbt() 114 rgn = flexonenand_region(mtd, from); in create_bbt() 115 from += mtd->eraseregions[rgn].erasesize; in create_bbt() 132 static inline int onenand_memory_bbt (struct mtd_info *mtd, struct nand_bbt_descr *bd) in onenand_memory_bbt() argument 134 struct onenand_chip *this = mtd->priv; in onenand_memory_bbt() 136 return create_bbt(mtd, this->page_buf, bd, -1); in onenand_memory_bbt() 145 static int onenand_isbad_bbt(struct mtd_info *mtd, loff_t offs, int allowbbt) in onenand_isbad_bbt() argument [all …]
|
D | samsung.c | 128 struct mtd_info *mtd; member 226 struct onenand_chip *this = onenand->mtd->priv; in s3c_onenand_readw() 276 struct onenand_chip *this = onenand->mtd->priv; in s3c_onenand_writew() 318 static int s3c_onenand_wait(struct mtd_info *mtd, int state) in s3c_onenand_wait() argument 366 mtd->ecc_stats.failed++; in s3c_onenand_wait() 384 static int s3c_onenand_command(struct mtd_info *mtd, int cmd, loff_t addr, in s3c_onenand_command() argument 387 struct onenand_chip *this = mtd->priv; in s3c_onenand_command() 421 s += (mtd->oobsize >> 2); in s3c_onenand_command() 424 mcount = mtd->writesize >> 2; in s3c_onenand_command() 425 scount = mtd->oobsize >> 2; in s3c_onenand_command() [all …]
|
D | omap2.c | 55 struct mtd_info mtd; member 106 static int omap2_onenand_wait(struct mtd_info *mtd, int state) in omap2_onenand_wait() argument 108 struct omap2_onenand *c = container_of(mtd, struct omap2_onenand, mtd); in omap2_onenand_wait() 109 struct onenand_chip *this = mtd->priv; in omap2_onenand_wait() 248 mtd->ecc_stats.failed++; in omap2_onenand_wait() 254 mtd->ecc_stats.corrected++; in omap2_onenand_wait() 280 static inline int omap2_onenand_bufferram_offset(struct mtd_info *mtd, int area) in omap2_onenand_bufferram_offset() argument 282 struct onenand_chip *this = mtd->priv; in omap2_onenand_bufferram_offset() 288 return mtd->oobsize; in omap2_onenand_bufferram_offset() 296 static int omap3_onenand_read_bufferram(struct mtd_info *mtd, int area, in omap3_onenand_read_bufferram() argument [all …]
|
D | generic.c | 33 struct mtd_info mtd; member 63 info->mtd.name = dev_name(&pdev->dev); in generic_onenand_probe() 64 info->mtd.priv = &info->onenand; in generic_onenand_probe() 65 info->mtd.owner = THIS_MODULE; in generic_onenand_probe() 67 if (onenand_scan(&info->mtd, 1)) { in generic_onenand_probe() 72 err = mtd_device_parse_register(&info->mtd, NULL, NULL, in generic_onenand_probe() 97 onenand_release(&info->mtd); in generic_onenand_remove()
|
/linux-4.1.27/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 105 if (mtd->flags & MTD_WRITEABLE) in gluebi_get_device() 108 gluebi = container_of(mtd, struct gluebi_device, mtd); in gluebi_get_device() 147 static void gluebi_put_device(struct mtd_info *mtd) in gluebi_put_device() argument 151 gluebi = container_of(mtd, struct gluebi_device, mtd); in gluebi_put_device() 171 static int gluebi_read(struct mtd_info *mtd, loff_t from, size_t len, in gluebi_read() argument 177 gluebi = container_of(mtd, struct gluebi_device, mtd); in gluebi_read() 178 lnum = div_u64_rem(from, mtd->erasesize, &offs); in gluebi_read() 181 size_t to_read = mtd->erasesize - offs; in gluebi_read() [all …]
|
D | build.c | 380 ret = sprintf(buf, "%d\n", ubi->mtd->index); in dev_attribute_show() 612 device_size = mtd_get_device_size(ubi->mtd); in get_bad_peb_limit() 613 device_pebs = mtd_div_by_eb(device_size, ubi->mtd); in get_bad_peb_limit() 644 if (ubi->mtd->numeraseregions != 0) { in io_init() 666 ubi->peb_size = ubi->mtd->erasesize; in io_init() 667 ubi->peb_count = mtd_div_by_eb(ubi->mtd->size, ubi->mtd); in io_init() 668 ubi->flash_size = ubi->mtd->size; in io_init() 670 if (mtd_can_have_bb(ubi->mtd)) { in io_init() 675 if (ubi->mtd->type == MTD_NORFLASH) { in io_init() 676 ubi_assert(ubi->mtd->writesize == 1); in io_init() [all …]
|
D | io.c | 167 err = mtd_read(ubi->mtd, addr, len, &read, buf); in ubi_io_read() 284 err = mtd_write(ubi->mtd, addr, len, &written, buf); in ubi_io_write() 350 ei.mtd = ubi->mtd; in do_sync_erase() 356 err = mtd_erase(ubi->mtd, &ei); in do_sync_erase() 526 err = mtd_write(ubi->mtd, addr, 4, &written, (void *)&data); in nor_erase_prepare() 535 err = mtd_write(ubi->mtd, addr, 4, &written, (void *)&data); in nor_erase_prepare() 612 struct mtd_info *mtd = ubi->mtd; in ubi_io_is_bad() local 619 ret = mtd_block_isbad(mtd, (loff_t)pnum * ubi->peb_size); in ubi_io_is_bad() 642 struct mtd_info *mtd = ubi->mtd; in ubi_io_mark_bad() local 654 err = mtd_block_markbad(mtd, (loff_t)pnum * ubi->peb_size); in ubi_io_mark_bad() [all …]
|
/linux-4.1.27/drivers/mtd/devices/ |
D | mtdram.c | 35 static int ram_erase(struct mtd_info *mtd, struct erase_info *instr) in ram_erase() argument 37 memset((char *)mtd->priv + instr->addr, 0xff, instr->len); in ram_erase() 43 static int ram_point(struct mtd_info *mtd, loff_t from, size_t len, in ram_point() argument 46 *virt = mtd->priv + from; in ram_point() 51 static int ram_unpoint(struct mtd_info *mtd, loff_t from, size_t len) in ram_unpoint() argument 61 static unsigned long ram_get_unmapped_area(struct mtd_info *mtd, in ram_get_unmapped_area() argument 66 return (unsigned long) mtd->priv + offset; in ram_get_unmapped_area() 69 static int ram_read(struct mtd_info *mtd, loff_t from, size_t len, in ram_read() argument 72 memcpy(buf, mtd->priv + from, len); in ram_read() 77 static int ram_write(struct mtd_info *mtd, loff_t to, size_t len, in ram_write() argument [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() 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 [all …]
|
D | phram.c | 30 struct mtd_info mtd; member 36 static int phram_erase(struct mtd_info *mtd, struct erase_info *instr) in phram_erase() argument 38 u_char *start = mtd->priv; in phram_erase() 52 static int phram_point(struct mtd_info *mtd, loff_t from, size_t len, in phram_point() argument 55 *virt = mtd->priv + from; in phram_point() 60 static int phram_unpoint(struct mtd_info *mtd, loff_t from, size_t len) in phram_unpoint() argument 65 static int phram_read(struct mtd_info *mtd, loff_t from, size_t len, in phram_read() argument 68 u_char *start = mtd->priv; in phram_read() 75 static int phram_write(struct mtd_info *mtd, loff_t to, size_t len, in phram_write() argument 78 u_char *start = mtd->priv; in phram_write() [all …]
|
D | bcm47xxsflash.c | 67 static int bcm47xxsflash_erase(struct mtd_info *mtd, struct erase_info *erase) in bcm47xxsflash_erase() argument 69 struct bcm47xxsflash *b47s = mtd->priv; in bcm47xxsflash_erase() 103 static int bcm47xxsflash_read(struct mtd_info *mtd, loff_t from, size_t len, in bcm47xxsflash_read() argument 106 struct bcm47xxsflash *b47s = mtd->priv; in bcm47xxsflash_read() 109 if ((from + len) > mtd->size) in bcm47xxsflash_read() 119 static int bcm47xxsflash_write_st(struct mtd_info *mtd, u32 offset, size_t len, in bcm47xxsflash_write_st() argument 122 struct bcm47xxsflash *b47s = mtd->priv; in bcm47xxsflash_write_st() 164 static int bcm47xxsflash_write_at(struct mtd_info *mtd, u32 offset, size_t len, in bcm47xxsflash_write_at() argument 167 struct bcm47xxsflash *b47s = mtd->priv; in bcm47xxsflash_write_at() 207 static int bcm47xxsflash_write(struct mtd_info *mtd, loff_t to, size_t len, in bcm47xxsflash_write() argument [all …]
|
D | sst25l.c | 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 [all …]
|
D | pmc551.c | 136 static int pmc551_point(struct mtd_info *mtd, loff_t from, size_t len, 139 static int pmc551_erase(struct mtd_info *mtd, struct erase_info *instr) in pmc551_erase() argument 141 struct mypriv *priv = mtd->priv; in pmc551_erase() 159 pmc551_point(mtd, instr->addr, instr->len, &retlen, in pmc551_erase() 162 if (soff_hi == eoff_hi || mtd->size == priv->asize) { in pmc551_erase() 175 if (soff_hi + priv->asize >= mtd->size) { in pmc551_erase() 179 pmc551_point(mtd, (priv->base_map0 | soff_hi), in pmc551_erase() 196 static int pmc551_point(struct mtd_info *mtd, loff_t from, size_t len, in pmc551_point() argument 199 struct mypriv *priv = mtd->priv; in pmc551_point() 222 static int pmc551_unpoint(struct mtd_info *mtd, loff_t from, size_t len) in pmc551_unpoint() argument [all …]
|
D | ms02-nv.c | 57 static int ms02nv_read(struct mtd_info *mtd, loff_t from, in ms02nv_read() argument 60 struct ms02nv_private *mp = mtd->priv; in ms02nv_read() 67 static int ms02nv_write(struct mtd_info *mtd, loff_t to, in ms02nv_write() argument 70 struct ms02nv_private *mp = mtd->priv; in ms02nv_write() 110 struct mtd_info *mtd; in ms02nv_init_one() local 145 mtd = kzalloc(sizeof(*mtd), GFP_KERNEL); in ms02nv_init_one() 146 if (!mtd) in ms02nv_init_one() 152 mtd->priv = mp; in ms02nv_init_one() 205 mtd->type = MTD_RAM; in ms02nv_init_one() 206 mtd->flags = MTD_CAP_RAM; in ms02nv_init_one() [all …]
|
D | block2mtd.c | 37 struct mtd_info mtd; member 83 static int block2mtd_erase(struct mtd_info *mtd, struct erase_info *instr) in block2mtd_erase() argument 85 struct block2mtd_dev *dev = mtd->priv; in block2mtd_erase() 105 static int block2mtd_read(struct mtd_info *mtd, loff_t from, size_t len, in block2mtd_read() argument 108 struct block2mtd_dev *dev = mtd->priv; in block2mtd_read() 179 static int block2mtd_write(struct mtd_info *mtd, loff_t to, size_t len, in block2mtd_write() argument 182 struct block2mtd_dev *dev = mtd->priv; in block2mtd_write() 195 static void block2mtd_sync(struct mtd_info *mtd) in block2mtd_sync() argument 197 struct block2mtd_dev *dev = mtd->priv; in block2mtd_sync() 208 kfree(dev->mtd.name); in block2mtd_free_device() [all …]
|
D | docg3.c | 857 static int doc_read_oob(struct mtd_info *mtd, loff_t from, in doc_read_oob() argument 860 struct docg3 *docg3 = mtd->priv; in doc_read_oob() 885 if (from + len > mtd->size) in doc_read_oob() 942 mtd->ecc_stats.failed++; in doc_read_oob() 946 mtd->ecc_stats.corrected += ret; in doc_read_oob() 985 static int doc_read(struct mtd_info *mtd, loff_t from, size_t len, in doc_read() argument 996 ret = doc_read_oob(mtd, from, &ops); in doc_read() 1030 static int doc_block_isbad(struct mtd_info *mtd, loff_t from) in doc_block_isbad() argument 1032 struct docg3 *docg3 = mtd->priv; in doc_block_isbad() 1201 static int doc_erase(struct mtd_info *mtd, struct erase_info *info) in doc_erase() argument [all …]
|
D | spear_smi.c | 199 struct mtd_info mtd; member 208 static inline struct spear_snor_flash *get_flash_data(struct mtd_info *mtd) in get_flash_data() argument 210 return container_of(mtd, struct spear_snor_flash, mtd); in get_flash_data() 494 static int spear_mtd_erase(struct mtd_info *mtd, struct erase_info *e_info) in spear_mtd_erase() argument 496 struct spear_snor_flash *flash = get_flash_data(mtd); in spear_mtd_erase() 497 struct spear_smi *dev = mtd->priv; in spear_mtd_erase() 525 addr += mtd->erasesize; in spear_mtd_erase() 526 len -= mtd->erasesize; in spear_mtd_erase() 548 static int spear_mtd_read(struct mtd_info *mtd, loff_t from, size_t len, in spear_mtd_read() argument 551 struct spear_snor_flash *flash = get_flash_data(mtd); in spear_mtd_read() [all …]
|
D | slram.c | 82 static int slram_erase(struct mtd_info *mtd, struct erase_info *instr) in slram_erase() argument 84 slram_priv_t *priv = mtd->priv; in slram_erase() 96 static int slram_point(struct mtd_info *mtd, loff_t from, size_t len, in slram_point() argument 99 slram_priv_t *priv = mtd->priv; in slram_point() 106 static int slram_unpoint(struct mtd_info *mtd, loff_t from, size_t len) in slram_unpoint() argument 111 static int slram_read(struct mtd_info *mtd, loff_t from, size_t len, in slram_read() argument 114 slram_priv_t *priv = mtd->priv; in slram_read() 121 static int slram_write(struct mtd_info *mtd, loff_t to, size_t len, in slram_write() argument 124 slram_priv_t *priv = mtd->priv; in slram_write()
|
D | m25p80.c | 34 struct mtd_info mtd; member 162 flash->mtd.erasesize / 1024, (u32)offset); in m25p80_erase() 204 nor->mtd = &flash->mtd; in m25p_probe() 208 flash->mtd.priv = nor; in m25p_probe() 217 flash->mtd.name = data->name; in m25p_probe() 237 return mtd_device_parse_register(&flash->mtd, NULL, &ppdata, in m25p_probe() 248 return mtd_device_unregister(&flash->mtd); in m25p_remove()
|
D | mtd_dataflash.c | 96 struct mtd_info mtd; member 148 static int dataflash_erase(struct mtd_info *mtd, struct erase_info *instr) in dataflash_erase() argument 150 struct dataflash *priv = mtd->priv; in dataflash_erase() 234 static int dataflash_read(struct mtd_info *mtd, loff_t from, size_t len, in dataflash_read() argument 237 struct dataflash *priv = mtd->priv; in dataflash_read() 299 static int dataflash_write(struct mtd_info *mtd, loff_t to, size_t len, in dataflash_write() argument 302 struct dataflash *priv = mtd->priv; in dataflash_write() 442 static int dataflash_get_otp_info(struct mtd_info *mtd, size_t len, in dataflash_get_otp_info() argument 501 static int dataflash_read_fact_otp(struct mtd_info *mtd, in dataflash_read_fact_otp() argument 504 struct dataflash *priv = mtd->priv; in dataflash_read_fact_otp() [all …]
|
D | st_spi_fsm.c | 263 struct mtd_info mtd; member 1674 static int stfsm_mtd_read(struct mtd_info *mtd, loff_t from, size_t len, in stfsm_mtd_read() argument 1677 struct stfsm *fsm = dev_get_drvdata(mtd->dev.parent); in stfsm_mtd_read() 1750 static int stfsm_mtd_write(struct mtd_info *mtd, loff_t to, size_t len, in stfsm_mtd_write() argument 1753 struct stfsm *fsm = dev_get_drvdata(mtd->dev.parent); in stfsm_mtd_write() 1796 static int stfsm_mtd_erase(struct mtd_info *mtd, struct erase_info *instr) in stfsm_mtd_erase() argument 1798 struct stfsm *fsm = dev_get_drvdata(mtd->dev.parent); in stfsm_mtd_erase() 1811 if (len == mtd->size) { in stfsm_mtd_erase() 1821 addr += mtd->erasesize; in stfsm_mtd_erase() 1822 len -= mtd->erasesize; in stfsm_mtd_erase() [all …]
|
/linux-4.1.27/drivers/mtd/chips/ |
D | map_ram.c | 35 struct mtd_info *mtd; in map_ram_probe() local 58 mtd = kzalloc(sizeof(*mtd), GFP_KERNEL); in map_ram_probe() 59 if (!mtd) in map_ram_probe() 63 mtd->priv = map; in map_ram_probe() 64 mtd->name = map->name; in map_ram_probe() 65 mtd->type = MTD_RAM; in map_ram_probe() 66 mtd->size = map->size; in map_ram_probe() 67 mtd->_erase = mapram_erase; in map_ram_probe() 68 mtd->_get_unmapped_area = mapram_unmapped_area; in map_ram_probe() 69 mtd->_read = mapram_read; in map_ram_probe() [all …]
|
D | map_rom.c | 22 static int maprom_erase (struct mtd_info *mtd, struct erase_info *info); 43 struct mtd_info *mtd; in map_rom_probe() local 45 mtd = kzalloc(sizeof(*mtd), GFP_KERNEL); in map_rom_probe() 46 if (!mtd) in map_rom_probe() 50 mtd->priv = map; in map_rom_probe() 51 mtd->name = map->name; in map_rom_probe() 52 mtd->type = MTD_ROM; in map_rom_probe() 53 mtd->size = map->size; in map_rom_probe() 54 mtd->_get_unmapped_area = maprom_unmapped_area; in map_rom_probe() 55 mtd->_read = maprom_read; 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 …]
|
D | cfi_cmdset_0001.c | 67 static int cfi_intelext_lock(struct mtd_info *mtd, loff_t ofs, uint64_t len); 68 static int cfi_intelext_unlock(struct mtd_info *mtd, loff_t ofs, uint64_t len); 69 static int cfi_intelext_is_locked(struct mtd_info *mtd, loff_t ofs, 92 static int cfi_intelext_point (struct mtd_info *mtd, loff_t from, size_t len, 94 static int cfi_intelext_unpoint(struct mtd_info *mtd, loff_t from, size_t len); 169 static void fixup_convert_atmel_pri(struct mtd_info *mtd) in fixup_convert_atmel_pri() argument 171 struct map_info *map = mtd->priv; in fixup_convert_atmel_pri() 209 static void fixup_at49bv640dx_lock(struct mtd_info *mtd) in fixup_at49bv640dx_lock() argument 211 struct map_info *map = mtd->priv; in fixup_at49bv640dx_lock() 216 mtd->flags |= MTD_POWERUP_LOCK; in fixup_at49bv640dx_lock() [all …]
|
D | cfi_cmdset_0002.c | 74 static int cfi_amdstd_panic_write(struct mtd_info *mtd, loff_t to, size_t len, 86 static int cfi_atmel_lock(struct mtd_info *mtd, loff_t ofs, uint64_t len); 87 static int cfi_atmel_unlock(struct mtd_info *mtd, loff_t ofs, uint64_t len); 89 static int cfi_ppb_lock(struct mtd_info *mtd, loff_t ofs, uint64_t len); 90 static int cfi_ppb_unlock(struct mtd_info *mtd, loff_t ofs, uint64_t len); 91 static int cfi_ppb_is_locked(struct mtd_info *mtd, loff_t ofs, uint64_t len); 156 static void fixup_amd_bootblock(struct mtd_info *mtd) in fixup_amd_bootblock() argument 158 struct map_info *map = mtd->priv; in fixup_amd_bootblock() 205 static void fixup_use_write_buffers(struct mtd_info *mtd) in fixup_use_write_buffers() argument 207 struct map_info *map = mtd->priv; in fixup_use_write_buffers() [all …]
|
D | cfi_cmdset_0020.c | 39 static int cfi_staa_writev(struct mtd_info *mtd, const struct kvec *vecs, 43 static int cfi_staa_lock(struct mtd_info *mtd, loff_t ofs, uint64_t len); 44 static int cfi_staa_unlock(struct mtd_info *mtd, loff_t ofs, uint64_t len); 169 struct mtd_info *mtd; in cfi_staa_setup() local 174 mtd = kzalloc(sizeof(*mtd), GFP_KERNEL); in cfi_staa_setup() 177 if (!mtd) { in cfi_staa_setup() 182 mtd->priv = map; in cfi_staa_setup() 183 mtd->type = MTD_NORFLASH; in cfi_staa_setup() 184 mtd->size = devsize * cfi->numchips; in cfi_staa_setup() 186 mtd->numeraseregions = cfi->cfiq->NumEraseRegions * cfi->numchips; in cfi_staa_setup() [all …]
|
D | fwh_lock.h | 79 static int fwh_lock_varsize(struct mtd_info *mtd, loff_t ofs, uint64_t len) in fwh_lock_varsize() argument 83 ret = cfi_varsize_frob(mtd, fwh_xxlock_oneblock, ofs, len, in fwh_lock_varsize() 90 static int fwh_unlock_varsize(struct mtd_info *mtd, loff_t ofs, uint64_t len) in fwh_unlock_varsize() argument 94 ret = cfi_varsize_frob(mtd, fwh_xxlock_oneblock, ofs, len, in fwh_unlock_varsize() 100 static void fixup_use_fwh_lock(struct mtd_info *mtd) in fixup_use_fwh_lock() argument 104 mtd->_lock = fwh_lock_varsize; in fixup_use_fwh_lock() 105 mtd->_unlock = fwh_unlock_varsize; in fixup_use_fwh_lock()
|
D | gen_probe.c | 23 struct mtd_info *mtd = NULL; in mtd_do_chip_probe() local 35 mtd = check_cmd_set(map, 1); /* First the primary cmdset */ in mtd_do_chip_probe() 36 if (!mtd) in mtd_do_chip_probe() 37 mtd = check_cmd_set(map, 0); /* Then the secondary */ in mtd_do_chip_probe() 39 if (mtd) { in mtd_do_chip_probe() 40 if (mtd->size > map->size) { in mtd_do_chip_probe() 42 (unsigned long)mtd->size >> 10, in mtd_do_chip_probe() 44 mtd->size = map->size; in mtd_do_chip_probe() 46 return mtd; in mtd_do_chip_probe() 217 struct mtd_info *mtd; in cfi_cmdset_unknown() local [all …]
|
D | chipreg.c | 85 void map_destroy(struct mtd_info *mtd) in map_destroy() argument 87 struct map_info *map = mtd->priv; in map_destroy() 90 map->fldrv->destroy(mtd); in map_destroy() 94 kfree(mtd); in map_destroy()
|
D | cfi_util.c | 148 void cfi_fixup(struct mtd_info *mtd, struct cfi_fixup *fixups) in cfi_fixup() argument 150 struct map_info *map = mtd->priv; in cfi_fixup() 157 f->fixup(mtd); in cfi_fixup() 164 int cfi_varsize_frob(struct mtd_info *mtd, varsize_frob_t frob, in cfi_varsize_frob() argument 167 struct map_info *map = mtd->priv; in cfi_varsize_frob() 172 struct mtd_erase_region_info *regions = mtd->eraseregions; in cfi_varsize_frob() 186 while (i < mtd->numeraseregions && ofs >= regions[i].offset) in cfi_varsize_frob() 206 while (i<mtd->numeraseregions && (ofs + len) >= regions[i].offset) in cfi_varsize_frob()
|
/linux-4.1.27/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() 177 loff_t addr = (loff_t)ebnum * mtd->erasesize; in verify_eraseblock() 181 for (i = 0; i < pgcnt; ++i, addr += mtd->writesize) { in verify_eraseblock() 190 err = mtd_read_oob(mtd, addr, &ops); in verify_eraseblock() 213 if (use_offset != 0 || use_len < mtd->ecclayout->oobavail) { in verify_eraseblock() 219 ops.ooblen = mtd->ecclayout->oobavail; in verify_eraseblock() 224 err = mtd_read_oob(mtd, addr, &ops); 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 | 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 | speedtest.c | 44 static struct mtd_info *mtd; variable 58 loff_t addr = (loff_t)ebnum * mtd->erasesize; in multiblock_erase() 61 ei.mtd = mtd; in multiblock_erase() 63 ei.len = mtd->erasesize * blocks; in multiblock_erase() 65 err = mtd_erase(mtd, &ei); in multiblock_erase() 83 loff_t addr = (loff_t)ebnum * mtd->erasesize; in write_eraseblock() 85 return mtdtest_write(mtd, addr, mtd->erasesize, iobuf); in write_eraseblock() 91 loff_t addr = (loff_t)ebnum * mtd->erasesize; in write_eraseblock_by_page() 95 err = mtdtest_write(mtd, addr, pgsize, buf); in write_eraseblock_by_page() 109 loff_t addr = (loff_t)ebnum * mtd->erasesize; in write_eraseblock_by_2pages() [all …]
|
D | readtest.c | 38 static struct mtd_info *mtd; variable 50 loff_t addr = (loff_t)ebnum * mtd->erasesize; in read_eraseblock_by_page() 56 ret = mtdtest_read(mtd, addr, pgsize, buf); in read_eraseblock_by_page() 61 if (mtd->oobsize) { in read_eraseblock_by_page() 67 ops.ooblen = mtd->oobsize; in read_eraseblock_by_page() 72 ret = mtd_read_oob(mtd, addr, &ops); in read_eraseblock_by_page() 74 ops.oobretlen != mtd->oobsize) { in read_eraseblock_by_page() 82 oobbuf += mtd->oobsize; in read_eraseblock_by_page() 98 n = mtd->erasesize; in dump_eraseblock() 108 if (!mtd->oobsize) in dump_eraseblock() [all …]
|
D | nandbiterrs.c | 80 static struct mtd_info *mtd; /* MTD device */ variable 108 return mtdtest_write(mtd, offset, mtd->writesize, wbuffer); in write_page() 121 ops.len = mtd->writesize; in rewrite_page() 129 err = mtd_write_oob(mtd, offset, &ops); in rewrite_page() 130 if (err || ops.retlen != mtd->writesize) { in rewrite_page() 151 memcpy(&oldstats, &mtd->ecc_stats, sizeof(oldstats)); in read_page() 153 err = mtd_read(mtd, offset, mtd->writesize, &read, rbuffer); in read_page() 155 err = mtd->ecc_stats.corrected - oldstats.corrected; in read_page() 157 if (err < 0 || read != mtd->writesize) { in read_page() 174 for (i = 0; i < mtd->writesize; i++) { in verify_page() [all …]
|
D | mtd_test.c | 9 int mtdtest_erase_eraseblock(struct mtd_info *mtd, unsigned int ebnum) in mtdtest_erase_eraseblock() argument 13 loff_t addr = (loff_t)ebnum * mtd->erasesize; in mtdtest_erase_eraseblock() 16 ei.mtd = mtd; in mtdtest_erase_eraseblock() 18 ei.len = mtd->erasesize; in mtdtest_erase_eraseblock() 20 err = mtd_erase(mtd, &ei); in mtdtest_erase_eraseblock() 33 static int is_block_bad(struct mtd_info *mtd, unsigned int ebnum) in is_block_bad() argument 36 loff_t addr = (loff_t)ebnum * mtd->erasesize; in is_block_bad() 38 ret = mtd_block_isbad(mtd, addr); in is_block_bad() 45 int mtdtest_scan_for_bad_eraseblocks(struct mtd_info *mtd, unsigned char *bbt, in mtdtest_scan_for_bad_eraseblocks() argument 50 if (!mtd_can_have_bb(mtd)) in mtdtest_scan_for_bad_eraseblocks() [all …]
|
D | subpagetest.c | 39 static struct mtd_info *mtd; variable 60 loff_t addr = (loff_t)ebnum * mtd->erasesize; in write_eraseblock() 63 err = mtd_write(mtd, addr, subpgsize, &written, writebuf); in write_eraseblock() 77 err = mtd_write(mtd, addr, subpgsize, &written, writebuf); in write_eraseblock() 95 loff_t addr = (loff_t)ebnum * mtd->erasesize; in write_eraseblock2() 98 if (addr + (subpgsize * k) > (loff_t)(ebnum + 1) * mtd->erasesize) in write_eraseblock2() 101 err = mtd_write(mtd, addr, subpgsize * k, &written, writebuf); in write_eraseblock2() 134 loff_t addr = (loff_t)ebnum * mtd->erasesize; in verify_eraseblock() 138 err = mtd_read(mtd, addr, subpgsize, &read, readbuf); in verify_eraseblock() 165 err = mtd_read(mtd, addr, subpgsize, &read, readbuf); in verify_eraseblock() [all …]
|
D | torturetest.c | 68 static struct mtd_info *mtd; variable 104 loff_t addr = (loff_t)ebnum * mtd->erasesize; in check_eraseblock() 105 size_t len = mtd->erasesize; in check_eraseblock() 108 addr = (loff_t)(ebnum + 1) * mtd->erasesize - pgcnt * pgsize; in check_eraseblock() 113 err = mtd_read(mtd, addr, len, &read, check_buf); in check_eraseblock() 158 loff_t addr = (loff_t)ebnum * mtd->erasesize; in write_pattern() 159 size_t len = mtd->erasesize; in write_pattern() 162 addr = (loff_t)(ebnum + 1) * mtd->erasesize - pgcnt * pgsize; in write_pattern() 165 err = mtd_write(mtd, addr, len, &written, buf); in write_pattern() 204 mtd = get_mtd_device(NULL, dev); in tort_init() [all …]
|
D | mtd_test.h | 15 int mtdtest_erase_eraseblock(struct mtd_info *mtd, unsigned int ebnum); 16 int mtdtest_scan_for_bad_eraseblocks(struct mtd_info *mtd, unsigned char *bbt, 18 int mtdtest_erase_good_eraseblocks(struct mtd_info *mtd, unsigned char *bbt, 21 int mtdtest_read(struct mtd_info *mtd, loff_t addr, size_t size, void *buf); 22 int mtdtest_write(struct mtd_info *mtd, loff_t addr, size_t size,
|
/linux-4.1.27/drivers/mtd/nand/gpmi-nand/ |
D | gpmi-nand.c | 110 struct mtd_info *mtd = &this->mtd; in get_ecc_strength() local 113 ecc_strength = ((mtd->oobsize - geo->metadata_size) * 8) in get_ecc_strength() 142 struct mtd_info *mtd = &this->mtd; in set_geometry_by_ecc_info() local 143 struct nand_chip *chip = mtd->priv; in set_geometry_by_ecc_info() 169 if (geo->ecc_chunk_size < mtd->oobsize) { in set_geometry_by_ecc_info() 172 chip->ecc_step_ds, mtd->oobsize); in set_geometry_by_ecc_info() 179 geo->ecc_chunk_count = mtd->writesize / geo->ecc_chunk_size; in set_geometry_by_ecc_info() 229 geo->page_size = mtd->writesize + geo->metadata_size + in set_geometry_by_ecc_info() 233 if (geo->page_size < mtd->writesize + mtd->oobsize) { in set_geometry_by_ecc_info() 234 of->offset = geo->page_size - mtd->writesize; in set_geometry_by_ecc_info() [all …]
|
D | gpmi-lib.c | 922 struct mtd_info *mtd = &this->mtd; in enable_edo_mode() local 931 nand->select_chip(mtd, 0); in enable_edo_mode() 935 ret = nand->onfi_set_features(mtd, nand, in enable_edo_mode() 942 ret = nand->onfi_get_features(mtd, nand, in enable_edo_mode() 947 nand->select_chip(mtd, -1); in enable_edo_mode() 963 nand->select_chip(mtd, -1); in enable_edo_mode()
|
/linux-4.1.27/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() 29 rc = efx->type->mtd_erase(mtd, erase->addr, erase->len); in efx_mtd_erase() 40 static void efx_mtd_sync(struct mtd_info *mtd) in efx_mtd_sync() argument 42 struct efx_mtd_partition *part = to_efx_mtd_partition(mtd); in efx_mtd_sync() 43 struct efx_nic *efx = mtd->priv; in efx_mtd_sync() 46 rc = efx->type->mtd_sync(mtd); in efx_mtd_sync() 57 rc = mtd_device_unregister(&part->mtd); in efx_mtd_remove_partition() [all …]
|
D | mcdi.h | 97 #define to_efx_mcdi_mtd_partition(mtd) \ argument 98 container_of(mtd, struct efx_mcdi_mtd_partition, common.mtd) 352 int efx_mcdi_mtd_read(struct mtd_info *mtd, loff_t start, size_t len, 354 int efx_mcdi_mtd_erase(struct mtd_info *mtd, loff_t start, size_t len); 355 int efx_mcdi_mtd_write(struct mtd_info *mtd, loff_t start, size_t len, 357 int efx_mcdi_mtd_sync(struct mtd_info *mtd);
|
D | falcon.c | 639 #define to_falcon_mtd_partition(mtd) \ argument 640 container_of(mtd, struct falcon_mtd_partition, common.mtd) 728 struct efx_nic *efx = part->common.mtd.priv; in falcon_spi_slow_wait() 792 struct efx_nic *efx = part->common.mtd.priv; in falcon_spi_erase() 838 struct efx_nic *efx = part->mtd.priv; in falcon_mtd_rename() 844 static int falcon_mtd_read(struct mtd_info *mtd, loff_t start, in falcon_mtd_read() argument 847 struct falcon_mtd_partition *part = to_falcon_mtd_partition(mtd); in falcon_mtd_read() 848 struct efx_nic *efx = mtd->priv; in falcon_mtd_read() 861 static int falcon_mtd_erase(struct mtd_info *mtd, loff_t start, size_t len) in falcon_mtd_erase() argument 863 struct falcon_mtd_partition *part = to_falcon_mtd_partition(mtd); in falcon_mtd_erase() [all …]
|
D | mcdi.c | 1782 int efx_mcdi_mtd_read(struct mtd_info *mtd, loff_t start, in efx_mcdi_mtd_read() argument 1785 struct efx_mcdi_mtd_partition *part = to_efx_mcdi_mtd_partition(mtd); in efx_mcdi_mtd_read() 1786 struct efx_nic *efx = mtd->priv; in efx_mcdi_mtd_read() 1788 loff_t end = min_t(loff_t, start + len, mtd->size); in efx_mcdi_mtd_read() 1806 int efx_mcdi_mtd_erase(struct mtd_info *mtd, loff_t start, size_t len) in efx_mcdi_mtd_erase() argument 1808 struct efx_mcdi_mtd_partition *part = to_efx_mcdi_mtd_partition(mtd); in efx_mcdi_mtd_erase() 1809 struct efx_nic *efx = mtd->priv; in efx_mcdi_mtd_erase() 1810 loff_t offset = start & ~((loff_t)(mtd->erasesize - 1)); in efx_mcdi_mtd_erase() 1811 loff_t end = min_t(loff_t, start + len, mtd->size); in efx_mcdi_mtd_erase() 1812 size_t chunk = part->common.mtd.erasesize; in efx_mcdi_mtd_erase() [all …]
|
D | Makefile | 5 sfc-$(CONFIG_SFC_MTD) += mtd.o
|
/linux-4.1.27/drivers/mtd/spi-nor/ |
D | spi-nor.c | 166 static inline struct spi_nor *mtd_to_spi_nor(struct mtd_info *mtd) in mtd_to_spi_nor() argument 168 return mtd->priv; in mtd_to_spi_nor() 266 dev_dbg(nor->dev, " %lldKiB\n", (long long)(nor->mtd->size >> 10)); in erase_chip() 299 static int spi_nor_erase(struct mtd_info *mtd, struct erase_info *instr) in spi_nor_erase() argument 301 struct spi_nor *nor = mtd_to_spi_nor(mtd); in spi_nor_erase() 309 div_u64_rem(instr->len, mtd->erasesize, &rem); in spi_nor_erase() 321 if (len == mtd->size) { in spi_nor_erase() 348 addr += mtd->erasesize; in spi_nor_erase() 349 len -= mtd->erasesize; in spi_nor_erase() 374 struct mtd_info *mtd = nor->mtd; in stm_lock() local [all …]
|
D | fsl-quadspi.c | 222 struct mtd_info mtd[FSL_QSPI_MAX_CHIP]; member 749 nor->mtd->erasesize / 1024, q->chip_base_addr, (u32)offs); in fsl_qspi_erase() 794 struct mtd_info *mtd; in fsl_qspi_probe() local 876 mtd = &q->mtd[i]; in fsl_qspi_probe() 878 nor->mtd = mtd; in fsl_qspi_probe() 881 mtd->priv = nor; in fsl_qspi_probe() 910 ret = mtd_device_parse_register(mtd, NULL, &ppdata, NULL, 0); in fsl_qspi_probe() 916 q->nor_size = mtd->size; in fsl_qspi_probe() 951 mtd_device_unregister(&q->mtd[i]); in fsl_qspi_probe() 969 mtd_device_unregister(&q->mtd[i]); in fsl_qspi_remove()
|
/linux-4.1.27/Documentation/ABI/testing/ |
D | sysfs-class-mtd | 1 What: /sys/class/mtd/ 4 Contact: linux-mtd@lists.infradead.org 6 The mtd/ class subdirectory belongs to the MTD subsystem 9 What: /sys/class/mtd/mtdX/ 12 Contact: linux-mtd@lists.infradead.org 14 The /sys/class/mtd/mtd{0,1,2,3,...} directories correspond 19 What: /sys/class/mtd/mtdXro/ 22 Contact: linux-mtd@lists.infradead.org 25 nodes for /sys/class/mtd/mtdX/ . 27 What: /sys/class/mtd/mtdX/dev [all …]
|
/linux-4.1.27/fs/logfs/ |
D | dev_mtd.c | 19 struct mtd_info *mtd = logfs_super(sb)->s_mtd; in logfs_mtd_read() local 23 ret = mtd_read(mtd, ofs, len, &retlen, buf); in logfs_mtd_read() 39 struct mtd_info *mtd = super->s_mtd; in loffs_mtd_write() local 47 BUG_ON((ofs >= mtd->size) || (len > mtd->size - ofs)); in loffs_mtd_write() 52 ret = mtd_write(mtd, ofs, len, &retlen, buf); in loffs_mtd_write() 93 struct mtd_info *mtd = logfs_super(sb)->s_mtd; in logfs_mtd_erase() local 98 BUG_ON(len % mtd->erasesize); in logfs_mtd_erase() 103 ei.mtd = mtd; in logfs_mtd_erase() 108 ret = mtd_erase(mtd, &ei); in logfs_mtd_erase() 120 struct mtd_info *mtd = logfs_super(sb)->s_mtd; in logfs_mtd_sync() local [all …]
|
/linux-4.1.27/fs/romfs/ |
D | mmap-nommu.c | 29 struct mtd_info *mtd = inode->i_sb->s_mtd; in romfs_get_unmapped_area() local 33 if (!mtd) in romfs_get_unmapped_area() 48 if (len > mtd->size || pgoff >= (mtd->size >> PAGE_SHIFT)) in romfs_get_unmapped_area() 52 if (offset >= mtd->size) in romfs_get_unmapped_area() 55 if ((offset + len) > mtd->size) in romfs_get_unmapped_area() 56 len = mtd->size - offset; in romfs_get_unmapped_area() 58 ret = mtd_get_unmapped_area(mtd, len, offset, flags); in romfs_get_unmapped_area() 75 struct mtd_info *mtd = file_inode(file)->i_sb->s_mtd; in romfs_mmap_capabilities() local 77 if (!mtd) in romfs_mmap_capabilities() 79 return mtd_mmap_capabilities(mtd); in romfs_mmap_capabilities()
|
/linux-4.1.27/drivers/mtd/lpddr/ |
D | lpddr_cmds.c | 32 static int lpddr_read(struct mtd_info *mtd, loff_t adr, size_t len, 34 static int lpddr_write_buffers(struct mtd_info *mtd, loff_t to, 36 static int lpddr_writev(struct mtd_info *mtd, const struct kvec *vecs, 38 static int lpddr_erase(struct mtd_info *mtd, struct erase_info *instr); 39 static int lpddr_lock(struct mtd_info *mtd, loff_t ofs, uint64_t len); 40 static int lpddr_unlock(struct mtd_info *mtd, loff_t ofs, uint64_t len); 41 static int lpddr_point(struct mtd_info *mtd, loff_t adr, size_t len, 43 static int lpddr_unpoint(struct mtd_info *mtd, loff_t adr, size_t len); 53 struct mtd_info *mtd; in lpddr_cmdset() local 57 mtd = kzalloc(sizeof(*mtd), GFP_KERNEL); in lpddr_cmdset() [all …]
|
D | lpddr2_nvm.c | 242 static int lpddr2_nvm_do_block_op(struct mtd_info *mtd, loff_t start_add, in lpddr2_nvm_do_block_op() argument 245 struct map_info *map = mtd->priv; in lpddr2_nvm_do_block_op() 260 add += mtd->erasesize; in lpddr2_nvm_do_block_op() 307 static int lpddr2_nvm_read(struct mtd_info *mtd, loff_t start_add, in lpddr2_nvm_read() argument 310 struct map_info *map = mtd->priv; in lpddr2_nvm_read() 325 static int lpddr2_nvm_write(struct mtd_info *mtd, loff_t start_add, in lpddr2_nvm_write() argument 328 struct map_info *map = mtd->priv; in lpddr2_nvm_write() 344 if (!(IS_ALIGNED(add, mtd->writesize))) { /* do sw program */ in lpddr2_nvm_write() 360 (u_long) mtd->writesize); in lpddr2_nvm_write() 381 static int lpddr2_nvm_erase(struct mtd_info *mtd, struct erase_info *instr) in lpddr2_nvm_erase() argument [all …]
|
D | qinfo_probe.c | 200 struct mtd_info *mtd = NULL; in lpddr_probe() local 209 mtd = lpddr_cmdset(map); in lpddr_probe() 210 if (mtd) { in lpddr_probe() 211 if (mtd->size > map->size) { in lpddr_probe() 213 "to %ldKiB\n", (unsigned long)mtd->size >> 10, in lpddr_probe() 215 mtd->size = map->size; in lpddr_probe() 217 return mtd; in lpddr_probe()
|
/linux-4.1.27/drivers/mtd/maps/ |
D | sa1100-flash.c | 29 struct mtd_info *mtd; member 34 struct mtd_info *mtd; member 59 if (subdev->mtd) in sa1100_destroy_subdev() 60 map_destroy(subdev->mtd); in sa1100_destroy_subdev() 115 subdev->mtd = do_map_probe(subdev->plat->map_name, &subdev->map); in sa1100_probe_subdev() 116 if (subdev->mtd == NULL) { in sa1100_probe_subdev() 120 subdev->mtd->owner = THIS_MODULE; in sa1100_probe_subdev() 123 phys, (unsigned)(subdev->mtd->size >> 20), in sa1100_probe_subdev() 138 if (info->mtd) { in sa1100_destroy() 139 mtd_device_unregister(info->mtd); in sa1100_destroy() [all …]
|
D | uclinux.c | 58 static int uclinux_point(struct mtd_info *mtd, loff_t from, size_t len, in uclinux_point() argument 61 struct map_info *map = mtd->priv; in uclinux_point() 73 struct mtd_info *mtd; in uclinux_mtd_init() local 105 mtd = do_map_probe("map_" MAP_NAME, mapp); in uclinux_mtd_init() 106 if (!mtd) { in uclinux_mtd_init() 111 mtd->owner = THIS_MODULE; in uclinux_mtd_init() 112 mtd->_point = uclinux_point; in uclinux_mtd_init() 113 mtd->priv = mapp; in uclinux_mtd_init() 115 uclinux_ram_mtdinfo = mtd; in uclinux_mtd_init() 116 mtd_device_register(mtd, uclinux_romfs, NUM_PARTITIONS); in uclinux_mtd_init()
|
D | rbtx4939-flash.c | 25 struct mtd_info *mtd; member 37 if (info->mtd) { in rbtx4939_flash_remove() 38 mtd_device_unregister(info->mtd); in rbtx4939_flash_remove() 39 map_destroy(info->mtd); in rbtx4939_flash_remove() 92 for (; !info->mtd && *probe_type; probe_type++) in rbtx4939_flash_probe() 93 info->mtd = do_map_probe(*probe_type, &info->map); in rbtx4939_flash_probe() 94 if (!info->mtd) { in rbtx4939_flash_probe() 99 info->mtd->owner = THIS_MODULE; in rbtx4939_flash_probe() 100 err = mtd_device_parse_register(info->mtd, NULL, NULL, pdata->parts, in rbtx4939_flash_probe() 117 if (mtd_suspend(info->mtd) == 0) in rbtx4939_flash_shutdown() [all …]
|
D | plat-ram.c | 44 struct mtd_info *mtd; member 91 if (info->mtd) { in platram_remove() 92 mtd_device_unregister(info->mtd); in platram_remove() 93 map_destroy(info->mtd); in platram_remove() 200 for ( ; !info->mtd && *map_probes; map_probes++) in platram_probe() 201 info->mtd = do_map_probe(*map_probes , &info->map); in platram_probe() 205 info->mtd = do_map_probe("map_ram", &info->map); in platram_probe() 207 if (info->mtd == NULL) { in platram_probe() 213 info->mtd->owner = THIS_MODULE; in platram_probe() 214 info->mtd->dev.parent = &pdev->dev; in platram_probe() [all …]
|
D | scb2_flash.c | 71 static int scb2_fixup_mtd(struct mtd_info *mtd) in scb2_fixup_mtd() argument 75 struct map_info *map = mtd->priv; in scb2_fixup_mtd() 88 mtd->size = map->size; in scb2_fixup_mtd() 103 mtd->erasesize /= 2; in scb2_fixup_mtd() 104 for (i = 0; i < mtd->numeraseregions; i++) { in scb2_fixup_mtd() 105 struct mtd_erase_region_info *region = &mtd->eraseregions[i]; in scb2_fixup_mtd() 115 for (i = 0; !done && i < mtd->numeraseregions; i++) { in scb2_fixup_mtd() 116 struct mtd_erase_region_info *region = &mtd->eraseregions[i]; in scb2_fixup_mtd() 118 if (region->numblocks * region->erasesize > mtd->size) { in scb2_fixup_mtd() 119 region->numblocks = ((unsigned long)mtd->size / in scb2_fixup_mtd()
|
D | physmap.c | 27 struct mtd_info *mtd[MAX_RESOURCES]; member 48 if (info->cmtd != info->mtd[0]) in physmap_flash_remove() 53 if (info->mtd[i] != NULL) in physmap_flash_remove() 54 map_destroy(info->mtd[i]); in physmap_flash_remove() 158 for (; info->mtd[i] == NULL && *probe_type != NULL; probe_type++) in physmap_flash_probe() 159 info->mtd[i] = do_map_probe(*probe_type, &info->map[i]); in physmap_flash_probe() 161 info->mtd[i] = do_map_probe(physmap_data->probe_type, &info->map[i]); in physmap_flash_probe() 163 if (info->mtd[i] == NULL) { in physmap_flash_probe() 170 info->mtd[i]->owner = THIS_MODULE; in physmap_flash_probe() 171 info->mtd[i]->dev.parent = &dev->dev; in physmap_flash_probe() [all …]
|
D | physmap_of.c | 29 struct mtd_info *mtd; member 52 if (info->cmtd != info->list[0].mtd) in of_flash_remove() 57 if (info->list[i].mtd) in of_flash_remove() 58 map_destroy(info->list[i].mtd); in of_flash_remove() 82 struct mtd_info *mtd; in obsolete_probe() local 91 mtd = do_map_probe(rom_probe_types[i], map); in obsolete_probe() 92 if (mtd) in obsolete_probe() 93 return mtd; in obsolete_probe() 266 info->list[i].mtd = do_map_probe(probe_type, in of_flash_probe() 269 info->list[i].mtd = obsolete_probe(dev, in of_flash_probe() [all …]
|
D | vmu-flash.c | 50 struct mtd_info *mtd; member 59 struct mtd_info *mtd, int partition) in ofs_to_block() argument 67 mpart = mtd->priv; in ofs_to_block() 112 struct mtd_info *mtd) in maple_vmu_read_block() argument 122 mpart = mtd->priv; in maple_vmu_read_block() 229 struct mtd_info *mtd) in maple_vmu_write_block() argument 237 mpart = mtd->priv; in maple_vmu_write_block() 305 struct mtd_info *mtd) in vmu_flash_read_char() argument 314 mpart = mtd->priv; in vmu_flash_read_char() 327 vblock = ofs_to_block(ofs, mtd, partition); in vmu_flash_read_char() [all …]
|
D | pxa2xx-flash.c | 43 struct mtd_info *mtd; member 88 info->mtd = do_map_probe(flash->map_name, &info->map); in pxa2xx_flash_probe() 90 if (!info->mtd) { in pxa2xx_flash_probe() 96 info->mtd->owner = THIS_MODULE; in pxa2xx_flash_probe() 98 mtd_device_parse_register(info->mtd, probes, NULL, flash->parts, in pxa2xx_flash_probe() 109 mtd_device_unregister(info->mtd); in pxa2xx_flash_remove() 111 map_destroy(info->mtd); in pxa2xx_flash_remove() 124 if (info && mtd_suspend(info->mtd) == 0) in pxa2xx_flash_shutdown() 125 mtd_resume(info->mtd); in pxa2xx_flash_shutdown()
|
D | amd76xrom.c | 42 struct mtd_info *mtd; member 85 mtd_device_unregister(map->mtd); in amd76xrom_cleanup() 86 map_destroy(map->mtd); in amd76xrom_cleanup() 223 map->mtd = do_map_probe(*probe_type, &map->map); in amd76xrom_init_one() 224 if (map->mtd) in amd76xrom_init_one() 232 if (map->mtd->size > map->map.size) { in amd76xrom_init_one() 235 (unsigned long long)map->mtd->size, map->map.size); in amd76xrom_init_one() 236 map->mtd->size = map->map.size; in amd76xrom_init_one() 246 map->rsrc.end = map->map.phys + map->mtd->size - 1; in amd76xrom_init_one() 264 map->mtd->owner = THIS_MODULE; in amd76xrom_init_one() [all …]
|
D | sun_uflash.c | 41 struct mtd_info *mtd; /* mtd info */ member 93 up->mtd = do_map_probe("cfi_probe", &up->map); in uflash_devinit() 94 if (!up->mtd) { in uflash_devinit() 101 up->mtd->owner = THIS_MODULE; in uflash_devinit() 103 mtd_device_register(up->mtd, NULL, 0); in uflash_devinit() 127 if (up->mtd) { in uflash_remove() 128 mtd_device_unregister(up->mtd); in uflash_remove() 129 map_destroy(up->mtd); in uflash_remove()
|
D | ck804xrom.c | 46 struct mtd_info *mtd; member 97 mtd_device_unregister(map->mtd); in ck804xrom_cleanup() 98 map_destroy(map->mtd); in ck804xrom_cleanup() 253 map->mtd = do_map_probe(*probe_type, &map->map); in ck804xrom_init_one() 254 if (map->mtd) in ck804xrom_init_one() 262 if (map->mtd->size > map->map.size) { in ck804xrom_init_one() 265 (unsigned long long)map->mtd->size, map->map.size); in ck804xrom_init_one() 266 map->mtd->size = map->map.size; in ck804xrom_init_one() 276 map->rsrc.end = map->map.phys + map->mtd->size - 1; in ck804xrom_init_one() 293 map->mtd->owner = THIS_MODULE; in ck804xrom_init_one() [all …]
|
D | ichxrom.c | 47 struct mtd_info *mtd; member 70 mtd_device_unregister(map->mtd); in ichxrom_cleanup() 71 map_destroy(map->mtd); in ichxrom_cleanup() 248 map->mtd = do_map_probe(*probe_type, &map->map); in ichxrom_init_one() 249 if (map->mtd) in ichxrom_init_one() 257 if (map->mtd->size > map->map.size) { in ichxrom_init_one() 260 (unsigned long long)map->mtd->size, map->map.size); in ichxrom_init_one() 261 map->mtd->size = map->map.size; in ichxrom_init_one() 271 map->rsrc.end = map->map.phys + map->mtd->size - 1; in ichxrom_init_one() 289 map->mtd->owner = THIS_MODULE; in ichxrom_init_one() [all …]
|
D | lantiq-flash.c | 43 struct mtd_info *mtd; member 156 ltq_mtd->mtd = do_map_probe("cfi_probe", ltq_mtd->map); in ltq_mtd_probe() 159 if (!ltq_mtd->mtd) { in ltq_mtd_probe() 164 ltq_mtd->mtd->owner = THIS_MODULE; in ltq_mtd_probe() 171 err = mtd_device_parse_register(ltq_mtd->mtd, ltq_probe_types, in ltq_mtd_probe() 181 map_destroy(ltq_mtd->mtd); in ltq_mtd_probe() 190 if (ltq_mtd && ltq_mtd->mtd) { in ltq_mtd_remove() 191 mtd_device_unregister(ltq_mtd->mtd); in ltq_mtd_remove() 192 map_destroy(ltq_mtd->mtd); in ltq_mtd_remove()
|
D | ixp4xx.c | 146 struct mtd_info *mtd; member 161 if (info->mtd) { in ixp4xx_flash_remove() 162 mtd_device_unregister(info->mtd); in ixp4xx_flash_remove() 163 map_destroy(info->mtd); in ixp4xx_flash_remove() 223 info->mtd = do_map_probe(plat->map_name, &info->map); in ixp4xx_flash_probe() 224 if (!info->mtd) { in ixp4xx_flash_probe() 229 info->mtd->owner = THIS_MODULE; in ixp4xx_flash_probe() 234 err = mtd_device_parse_register(info->mtd, probes, &ppdata, in ixp4xx_flash_probe()
|
D | esb2rom.c | 108 struct mtd_info *mtd; member 131 mtd_device_unregister(map->mtd); in esb2rom_cleanup() 132 map_destroy(map->mtd); in esb2rom_cleanup() 314 map->mtd = do_map_probe(*probe_type, &map->map); in esb2rom_init_one() 315 if (map->mtd) in esb2rom_init_one() 323 if (map->mtd->size > map->map.size) { in esb2rom_init_one() 326 (unsigned long long)map->mtd->size, map->map.size); in esb2rom_init_one() 327 map->mtd->size = map->map.size; in esb2rom_init_one() 337 map->rsrc.end = map->map.phys + map->mtd->size - 1; in esb2rom_init_one() 354 map->mtd->owner = THIS_MODULE; in esb2rom_init_one() [all …]
|
D | tsunami_flash.c | 76 struct mtd_info *mtd; in cleanup_tsunami_flash() local 77 mtd = tsunami_flash_mtd; in cleanup_tsunami_flash() 78 if (mtd) { in cleanup_tsunami_flash() 79 mtd_device_unregister(mtd); in cleanup_tsunami_flash() 80 map_destroy(mtd); in cleanup_tsunami_flash()
|
D | latch-addr-flash.c | 25 struct mtd_info *mtd; member 107 if (info->mtd != NULL) { in latch_addr_flash_remove() 108 mtd_device_unregister(info->mtd); in latch_addr_flash_remove() 109 map_destroy(info->mtd); in latch_addr_flash_remove() 189 for (probe_type = rom_probe_types; !info->mtd && *probe_type; in latch_addr_flash_probe() 191 info->mtd = do_map_probe(*probe_type, &info->map); in latch_addr_flash_probe() 193 if (info->mtd == NULL) { in latch_addr_flash_probe() 198 info->mtd->owner = THIS_MODULE; in latch_addr_flash_probe() 200 mtd_device_parse_register(info->mtd, NULL, NULL, in latch_addr_flash_probe()
|
D | pci.c | 259 struct mtd_info *mtd = NULL; in mtd_pci_probe() local 285 mtd = do_map_probe(info->map_name, &map->map); in mtd_pci_probe() 287 if (!mtd) in mtd_pci_probe() 290 mtd->owner = THIS_MODULE; in mtd_pci_probe() 291 mtd_device_register(mtd, NULL, 0); in mtd_pci_probe() 293 pci_set_drvdata(dev, mtd); in mtd_pci_probe() 310 struct mtd_info *mtd = pci_get_drvdata(dev); in mtd_pci_remove() local 311 struct map_pci_info *map = mtd->priv; in mtd_pci_remove() 313 mtd_device_unregister(mtd); in mtd_pci_remove() 314 map_destroy(mtd); in mtd_pci_remove()
|
D | bfin-async-flash.c | 38 struct mtd_info *mtd; member 160 state->mtd = do_map_probe(memory->name, &state->map); in bfin_flash_probe() 161 if (!state->mtd) { in bfin_flash_probe() 167 mtd_device_parse_register(state->mtd, part_probe_types, NULL, in bfin_flash_probe() 179 mtd_device_unregister(state->mtd); in bfin_flash_remove() 180 map_destroy(state->mtd); in bfin_flash_remove()
|
D | pcmciamtd.c | 466 struct mtd_info *mtd = NULL; in pcmciamtd_config() local 568 mtd = do_map_probe("map_ram", &dev->pcmcia_map); in pcmciamtd_config() 570 mtd = do_map_probe("map_rom", &dev->pcmcia_map); in pcmciamtd_config() 574 mtd = do_map_probe(probes[i], &dev->pcmcia_map); in pcmciamtd_config() 575 if(mtd) in pcmciamtd_config() 582 if(!mtd) { in pcmciamtd_config() 588 dev->mtd_info = mtd; in pcmciamtd_config() 589 mtd->owner = THIS_MODULE; in pcmciamtd_config() 597 if(mtd->size < 1048576) { /* <1MiB in size, show size in KiB */ in pcmciamtd_config() 598 size = mtd->size >> 10; in pcmciamtd_config() [all …]
|
D | gpio-addr-flash.c | 44 struct mtd_info *mtd; member 262 state->mtd = do_map_probe(memory->name, &state->map); in gpio_flash_probe() 263 if (!state->mtd) { in gpio_flash_probe() 271 mtd_device_parse_register(state->mtd, part_probe_types, NULL, in gpio_flash_probe() 284 mtd_device_unregister(state->mtd); in gpio_flash_remove() 285 map_destroy(state->mtd); in gpio_flash_remove()
|
/linux-4.1.27/drivers/mtd/nand/bcm47xxnflash/ |
D | ops_bcm4706.c | 89 static void bcm47xxnflash_ops_bcm4706_read(struct mtd_info *mtd, uint8_t *buf, in bcm47xxnflash_ops_bcm4706_read() argument 92 struct nand_chip *nand_chip = (struct nand_chip *)mtd->priv; in bcm47xxnflash_ops_bcm4706_read() 139 static void bcm47xxnflash_ops_bcm4706_write(struct mtd_info *mtd, in bcm47xxnflash_ops_bcm4706_write() argument 142 struct nand_chip *nand_chip = (struct nand_chip *)mtd->priv; in bcm47xxnflash_ops_bcm4706_write() 173 static void bcm47xxnflash_ops_bcm4706_cmd_ctrl(struct mtd_info *mtd, int cmd, in bcm47xxnflash_ops_bcm4706_cmd_ctrl() argument 176 struct nand_chip *nand_chip = (struct nand_chip *)mtd->priv; in bcm47xxnflash_ops_bcm4706_cmd_ctrl() 194 static void bcm47xxnflash_ops_bcm4706_select_chip(struct mtd_info *mtd, in bcm47xxnflash_ops_bcm4706_select_chip() argument 200 static int bcm47xxnflash_ops_bcm4706_dev_ready(struct mtd_info *mtd) in bcm47xxnflash_ops_bcm4706_dev_ready() argument 202 struct nand_chip *nand_chip = (struct nand_chip *)mtd->priv; in bcm47xxnflash_ops_bcm4706_dev_ready() 215 static void bcm47xxnflash_ops_bcm4706_cmdfunc(struct mtd_info *mtd, in bcm47xxnflash_ops_bcm4706_cmdfunc() argument [all …]
|
D | main.c | 37 b47n->mtd.owner = THIS_MODULE; in bcm47xxnflash_probe() 38 b47n->mtd.priv = &b47n->nand_chip; /* Required */ in bcm47xxnflash_probe() 52 err = mtd_device_parse_register(&b47n->mtd, probes, NULL, NULL, 0); in bcm47xxnflash_probe() 65 if (nflash->mtd) in bcm47xxnflash_remove() 66 mtd_device_unregister(nflash->mtd); in bcm47xxnflash_remove()
|
D | bcm47xxnflash.h | 15 struct mtd_info mtd; member
|
/linux-4.1.27/drivers/staging/mt29f_spinand/ |
D | mt29f_spinand.c | 32 static inline struct spinand_state *mtd_to_state(struct mtd_info *mtd) in mtd_to_state() argument 34 struct nand_chip *chip = (struct nand_chip *)mtd->priv; in mtd_to_state() 614 static int spinand_write_page_hwecc(struct mtd_info *mtd, in spinand_write_page_hwecc() argument 622 chip->write_buf(mtd, p, eccsize * eccsteps); in spinand_write_page_hwecc() 626 static int spinand_read_page_hwecc(struct mtd_info *mtd, struct nand_chip *chip, in spinand_read_page_hwecc() argument 638 chip->read_buf(mtd, p, eccsize * eccsteps); in spinand_read_page_hwecc() 640 chip->read_buf(mtd, chip->oob_poi, mtd->oobsize); in spinand_read_page_hwecc() 645 dev_err(&mtd->dev, in spinand_read_page_hwecc() 654 mtd->ecc_stats.failed++; in spinand_read_page_hwecc() 657 mtd->ecc_stats.corrected++; in spinand_read_page_hwecc() [all …]
|
D | mt29f_spinand.h | 104 extern int spinand_mtd(struct mtd_info *mtd); 105 extern void spinand_mtd_release(struct mtd_info *mtd);
|
D | TODO | 13 linux-mtd@lists.infradead.org
|
/linux-4.1.27/Documentation/DocBook/ |
D | .mtdnand.xml.cmd | 2 …e/linux/mtd/nand.h drivers/mtd/nand/nand_base.c drivers/mtd/nand/nand_bbt.c drivers/mtd/nand/nand_…
|
/linux-4.1.27/Documentation/devicetree/bindings/mtd/ |
D | mtd-physmap.txt | 6 - compatible : should contain the specific model of mtd chip(s) 8 "mtd-ram" or "mtd-rom". 9 - reg : Address range(s) of the mtd chip(s) 14 - device-width : (optional) Width of a single mtd chip. If 26 - linux,mtd-name: allow to specify the mtd name for retro capability with 27 physmap-flash drivers as boot loader pass the mtd partition via the old 85 compatible = "samsung,k6f1616u6a", "mtd-ram";
|
D | gpmc-nor.txt | 13 - compatible: Documentation/devicetree/bindings/mtd/mtd-physmap.txt 24 - linux,mtd-name: Documentation/devicetree/bindings/mtd/mtd-physmap.txt 53 linux,mtd-name= "intel,pf48f6000m0y1be";
|
D | partition.txt | 3 Partitions can be represented by sub-nodes of an mtd device. This can be used 9 #address-cells & #size-cells must both be present in the mtd device. There are 17 - reg : The partition's offset and size within the mtd bank.
|
/linux-4.1.27/arch/arm/mach-ep93xx/ |
D | snappercl15.c | 49 static void snappercl15_nand_cmd_ctrl(struct mtd_info *mtd, int cmd, in snappercl15_nand_cmd_ctrl() argument 52 struct nand_chip *chip = mtd->priv; in snappercl15_nand_cmd_ctrl() 77 static int snappercl15_nand_dev_ready(struct mtd_info *mtd) in snappercl15_nand_dev_ready() argument 79 struct nand_chip *chip = mtd->priv; in snappercl15_nand_dev_ready()
|
D | ts72xx.c | 74 static void ts72xx_nand_hwcontrol(struct mtd_info *mtd, in ts72xx_nand_hwcontrol() argument 77 struct nand_chip *chip = mtd->priv; in ts72xx_nand_hwcontrol() 97 static int ts72xx_nand_device_ready(struct mtd_info *mtd) in ts72xx_nand_device_ready() argument 99 struct nand_chip *chip = mtd->priv; in ts72xx_nand_device_ready()
|
/linux-4.1.27/fs/jffs2/ |
D | wbuf.c | 237 ret = mtd_read(c->mtd, ofs, c->wbuf_pagesize, &retlen, c->wbuf_verify); in jffs2_verify_write() 288 if (c->wbuf_ofs % c->mtd->erasesize) in jffs2_wbuf_recover() 348 ret = mtd_read(c->mtd, start, c->wbuf_ofs - start, &retlen, in jffs2_wbuf_recover() 425 mtd_write(c->mtd, ofs, towrite, &retlen, brokenbuf); in jffs2_wbuf_recover() 429 ret = mtd_write(c->mtd, ofs, towrite, &retlen, in jffs2_wbuf_recover() 632 mtd_write(c->mtd, c->wbuf_ofs, c->wbuf_pagesize, &retlen, in __jffs2_flush_wbuf() 638 ret = mtd_write(c->mtd, c->wbuf_ofs, c->wbuf_pagesize, in __jffs2_flush_wbuf() 876 ret = mtd_write(c->mtd, outvec_to, PAGE_DIV(vlen), in jffs2_flash_writev() 963 return mtd_read(c->mtd, ofs, len, retlen, buf); in jffs2_flash_read() 967 ret = mtd_read(c->mtd, ofs, len, retlen, buf); in jffs2_flash_read() [all …]
|
D | os-linux.h | 79 #define jffs2_flash_read(c, ofs, len, retlen, buf) (mtd_read((c)->mtd, ofs, len, retlen, buf)) 107 #define jffs2_can_mark_obsolete(c) (c->mtd->flags & (MTD_BIT_WRITEABLE)) 110 #define jffs2_cleanmarker_oob(c) (c->mtd->type == MTD_NANDFLASH) 129 #define jffs2_dataflash(c) (c->mtd->type == MTD_DATAFLASH) 132 #define jffs2_ubivol(c) (c->mtd->type == MTD_UBIVOLUME) 136 #define jffs2_nor_wbuf_flash(c) (c->mtd->type == MTD_NORFLASH && ! (c->mtd->flags & MTD_BIT_WRITEAB…
|
D | writev.c | 29 return mtd_writev(c->mtd, vecs, count, to, retlen); in jffs2_flash_direct_writev() 36 ret = mtd_write(c->mtd, ofs, len, retlen, buf); in jffs2_flash_direct_write()
|
D | erase.c | 70 instr->mtd = c->mtd; in jffs2_erase_block() 79 ret = mtd_erase(c->mtd, instr); in jffs2_erase_block() 348 ret = mtd_point(c->mtd, jeb->offset, c->sector_size, &retlen, in jffs2_block_check_erase() 359 mtd_unpoint(c->mtd, jeb->offset, retlen); in jffs2_block_check_erase() 368 mtd_unpoint(c->mtd, jeb->offset, c->sector_size); in jffs2_block_check_erase() 394 ret = mtd_read(c->mtd, ofs, readlen, &retlen, ebuf); in jffs2_block_check_erase()
|
D | super.c | 224 if (opt > c->mtd->size) { in jffs2_parse_options() 226 "is %llu KB\n", c->mtd->size / 1024); in jffs2_parse_options() 283 c->mtd = sb->s_mtd; in jffs2_fill_super() 341 mtd_sync(c->mtd); in jffs2_put_super()
|
D | fs.c | 219 buf->f_fsid.val[1] = c->mtd->index; in jffs2_statfs() 523 if (c->mtd->type == MTD_MLCNANDFLASH) in jffs2_do_fill_super() 527 if (c->mtd->type == MTD_NANDFLASH) { in jffs2_do_fill_super() 531 if (c->mtd->type == MTD_DATAFLASH) { in jffs2_do_fill_super() 537 c->flash_size = c->mtd->size; in jffs2_do_fill_super() 538 c->sector_size = c->mtd->erasesize; in jffs2_do_fill_super()
|
/linux-4.1.27/arch/mips/bcm47xx/ |
D | nvram.c | 139 struct mtd_info *mtd; in nvram_init() local 144 mtd = get_mtd_device_nm("nvram"); in nvram_init() 145 if (IS_ERR(mtd)) in nvram_init() 148 err = mtd_read(mtd, 0, sizeof(header), &bytes_read, (uint8_t *)&header); in nvram_init() 159 err = mtd_read(mtd, 0, len, &bytes_read, dst); in nvram_init()
|
/linux-4.1.27/arch/arm/mach-omap1/ |
D | board-nand.c | 23 void omap1_nand_cmd_ctl(struct mtd_info *mtd, int cmd, unsigned int ctrl) in omap1_nand_cmd_ctl() argument 25 struct nand_chip *this = mtd->priv; in omap1_nand_cmd_ctl()
|
D | common.h | 81 extern void omap1_nand_cmd_ctl(struct mtd_info *mtd, int cmd,
|
/linux-4.1.27/include/uapi/mtd/ |
D | Kbuild | 3 header-y += mtd-abi.h 4 header-y += mtd-user.h
|
D | mtd-abi.h | 279 static inline int mtd_type_is_nand_user(const struct mtd_info_user *mtd) in mtd_type_is_nand_user() argument 281 return mtd->type == MTD_NANDFLASH || mtd->type == MTD_MLCNANDFLASH; in mtd_type_is_nand_user()
|
/linux-4.1.27/arch/arm/mach-imx/ |
D | mach-qong.c | 132 static void qong_nand_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl) in qong_nand_cmd_ctrl() argument 134 struct nand_chip *nand_chip = mtd->priv; in qong_nand_cmd_ctrl() 148 static int qong_nand_device_ready(struct mtd_info *mtd) in qong_nand_device_ready() argument 153 static void qong_nand_select_chip(struct mtd_info *mtd, int chip) in qong_nand_select_chip() argument
|
/linux-4.1.27/arch/arm/mach-orion5x/ |
D | ts78xx-setup.c | 176 static void ts78xx_ts_nand_cmd_ctrl(struct mtd_info *mtd, int cmd, in ts78xx_ts_nand_cmd_ctrl() argument 179 struct nand_chip *this = mtd->priv; in ts78xx_ts_nand_cmd_ctrl() 195 static int ts78xx_ts_nand_dev_ready(struct mtd_info *mtd) in ts78xx_ts_nand_dev_ready() argument 200 static void ts78xx_ts_nand_write_buf(struct mtd_info *mtd, in ts78xx_ts_nand_write_buf() argument 203 struct nand_chip *chip = mtd->priv; in ts78xx_ts_nand_write_buf() 227 static void ts78xx_ts_nand_read_buf(struct mtd_info *mtd, in ts78xx_ts_nand_read_buf() argument 230 struct nand_chip *chip = mtd->priv; in ts78xx_ts_nand_read_buf()
|
/linux-4.1.27/Documentation/arm/Samsung-S3C24XX/ |
D | EB2410ITX.txt | 40 The NAND and NOR support has been merged from the linux-mtd project. 41 Any problems, see http://www.linux-mtd.infradead.org/ for more 42 information or up-to-date versions of linux-mtd.
|
/linux-4.1.27/arch/cris/arch-v32/drivers/mach-fs/ |
D | nandflash.c | 49 static void crisv32_hwcontrol(struct mtd_info *mtd, int cmd, in crisv32_hwcontrol() argument 54 struct nand_chip *this = mtd->priv; in crisv32_hwcontrol() 91 static int crisv32_device_ready(struct mtd_info *mtd) in crisv32_device_ready() argument
|
/linux-4.1.27/arch/cris/arch-v32/drivers/mach-a3/ |
D | nandflash.c | 50 static void crisv32_hwcontrol(struct mtd_info *mtd, int cmd, in crisv32_hwcontrol() argument 55 struct nand_chip *this = mtd->priv; in crisv32_hwcontrol() 96 static int crisv32_device_ready(struct mtd_info *mtd) in crisv32_device_ready() argument
|
/linux-4.1.27/arch/mips/rb532/ |
D | devices.c | 143 static int rb532_dev_ready(struct mtd_info *mtd) in rb532_dev_ready() argument 148 static void rb532_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl) in rb532_cmd_ctrl() argument 150 struct nand_chip *chip = mtd->priv; in rb532_cmd_ctrl()
|
/linux-4.1.27/arch/arm/boot/dts/ |
D | imx27-phytec-phycore-som.dtsi | 334 linux,mtd-name = "physmap-flash.0"; 341 compatible = "mtd-ram"; 344 linux,mtd-name = "mtd-ram.0";
|
D | omap3430-sdp.dts | 59 linux,mtd-name= "intel,pf48f6000m0y1be"; 106 linux,mtd-name= "micron,mt29f1g08abb"; 150 linux,mtd-name= "samsung,kfm2g16q2m-deb8";
|
/linux-4.1.27/arch/mips/pnx833x/common/ |
D | platform.c | 181 pnx833x_flash_nand_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl) in pnx833x_flash_nand_cmd_ctrl() argument 183 struct nand_chip *this = mtd->priv; in pnx833x_flash_nand_cmd_ctrl()
|
/linux-4.1.27/include/linux/platform_data/ |
D | mtd-orion_nand.h | 15 int (*dev_ready)(struct mtd_info *mtd);
|
/linux-4.1.27/arch/arm/include/asm/mach/ |
D | flash.h | 34 void (*mmcontrol)(struct mtd_info *mtd, int sync_read);
|
/linux-4.1.27/arch/mips/cobalt/ |
D | Makefile | 5 obj-y := buttons.o irq.o lcd.o led.o mtd.o reset.o rtc.o serial.o setup.o time.o
|
/linux-4.1.27/arch/blackfin/mach-bf561/boards/ |
D | acvilon.c | 267 static void bfin_plat_nand_cmd_ctrl(struct mtd_info *mtd, int cmd, in bfin_plat_nand_cmd_ctrl() argument 270 struct nand_chip *this = mtd->priv; in bfin_plat_nand_cmd_ctrl() 282 static int bfin_plat_nand_dev_ready(struct mtd_info *mtd) in bfin_plat_nand_dev_ready() argument
|
/linux-4.1.27/arch/arm/mach-pxa/ |
D | balloon3.c | 573 static void balloon3_nand_cmd_ctl(struct mtd_info *mtd, int cmd, unsigned int ctrl) in balloon3_nand_cmd_ctl() argument 575 struct nand_chip *this = mtd->priv; in balloon3_nand_cmd_ctl() 602 static void balloon3_nand_select_chip(struct mtd_info *mtd, int chip) in balloon3_nand_select_chip() argument 618 static int balloon3_nand_dev_ready(struct mtd_info *mtd) in balloon3_nand_dev_ready() argument
|
D | palmtx.c | 250 static void palmtx_nand_cmd_ctl(struct mtd_info *mtd, int cmd, in palmtx_nand_cmd_ctl() argument 253 struct nand_chip *this = mtd->priv; in palmtx_nand_cmd_ctl()
|
/linux-4.1.27/include/uapi/ |
D | Kbuild | 9 header-y += mtd/
|
/linux-4.1.27/arch/arm/mach-ixp4xx/ |
D | ixdp425-setup.c | 77 ixdp425_flash_nand_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl) in ixdp425_flash_nand_cmd_ctrl() argument 79 struct nand_chip *this = mtd->priv; in ixdp425_flash_nand_cmd_ctrl()
|