/linux/drivers/mtd/ |
H A D | mtdcore.c | 3 * Core registration and callback routines for MTD 35 #include <linux/mtd/mtd.h> 36 #include <linux/mtd/partitions.h> 46 struct mtd_info *mtd = dev_get_drvdata(dev); in mtd_cls_suspend() local 48 return mtd ? mtd_suspend(mtd) : 0; in mtd_cls_suspend() 53 struct mtd_info *mtd = dev_get_drvdata(dev); in mtd_cls_resume() local 55 if (mtd) in mtd_cls_resume() 56 mtd_resume(mtd); in mtd_cls_resume() 94 struct mtd_info *mtd = dev_get_drvdata(dev); mtd_release() local 109 struct mtd_info *mtd = container_of(kref, struct mtd_info, refcnt); mtd_device_release() local 139 struct mtd_info *mtd = dev_get_drvdata(dev); mtd_type_show() local 178 struct mtd_info *mtd = dev_get_drvdata(dev); mtd_flags_show() local 187 struct mtd_info *mtd = dev_get_drvdata(dev); mtd_size_show() local 196 struct mtd_info *mtd = dev_get_drvdata(dev); mtd_erasesize_show() local 205 struct mtd_info *mtd = dev_get_drvdata(dev); mtd_writesize_show() local 214 struct mtd_info *mtd = dev_get_drvdata(dev); mtd_subpagesize_show() local 224 struct mtd_info *mtd = dev_get_drvdata(dev); mtd_oobsize_show() local 233 struct mtd_info *mtd = dev_get_drvdata(dev); mtd_oobavail_show() local 242 struct mtd_info *mtd = dev_get_drvdata(dev); mtd_numeraseregions_show() local 251 struct mtd_info *mtd = dev_get_drvdata(dev); mtd_name_show() local 260 struct mtd_info *mtd = dev_get_drvdata(dev); mtd_ecc_strength_show() local 270 struct mtd_info *mtd = dev_get_drvdata(dev); mtd_bitflip_threshold_show() local 279 struct mtd_info *mtd = dev_get_drvdata(dev); mtd_bitflip_threshold_store() local 295 struct mtd_info *mtd = dev_get_drvdata(dev); mtd_ecc_step_size_show() local 305 struct mtd_info *mtd = dev_get_drvdata(dev); mtd_corrected_bits_show() local 315 struct mtd_info *mtd = dev_get_drvdata(dev); mtd_ecc_failures_show() local 325 struct mtd_info *mtd = dev_get_drvdata(dev); mtd_bad_blocks_show() local 335 struct mtd_info *mtd = dev_get_drvdata(dev); mtd_bbt_blocks_show() local 387 mtd_debugfs_populate(struct mtd_info * mtd) mtd_debugfs_populate() argument 398 mtd_mmap_capabilities(struct mtd_info * mtd) mtd_mmap_capabilities() argument 417 struct mtd_info *mtd; mtd_reboot_notifier() local 451 mtd_wunit_to_pairing_info(struct mtd_info * mtd,int wunit,struct mtd_pairing_info * info) mtd_wunit_to_pairing_info() argument 494 mtd_pairing_info_to_wunit(struct mtd_info * mtd,const struct mtd_pairing_info * info) mtd_pairing_info_to_wunit() argument 522 mtd_pairing_groups(struct mtd_info * mtd) mtd_pairing_groups() argument 536 struct mtd_info *mtd = priv; mtd_nvmem_reg_read() local 547 mtd_nvmem_add(struct mtd_info * mtd) mtd_nvmem_add() argument 579 mtd_check_of_node(struct mtd_info * mtd) mtd_check_of_node() argument 643 add_mtd_device(struct mtd_info * mtd) add_mtd_device() argument 812 del_mtd_device(struct mtd_info * mtd) del_mtd_device() argument 841 mtd_set_dev_defaults(struct mtd_info * mtd) mtd_set_dev_defaults() argument 857 mtd_otp_size(struct mtd_info * mtd,bool is_user) mtd_otp_size() argument 889 mtd_otp_nvmem_register(struct mtd_info * mtd,const char * compatible,int size,nvmem_reg_read_t reg_read) mtd_otp_nvmem_register() argument 928 struct mtd_info *mtd = priv; mtd_nvmem_user_otp_reg_read() local 942 struct mtd_info *mtd = priv; mtd_nvmem_fact_otp_reg_read() local 953 mtd_otp_nvmem_add(struct mtd_info * mtd) mtd_otp_nvmem_add() argument 1054 mtd_device_parse_register(struct mtd_info * mtd,const char * const * types,struct mtd_part_parser_data * parser_data,const struct mtd_partition * parts,int nr_parts) mtd_device_parse_register() argument 1160 struct mtd_info *mtd; register_mtd_user() local 1186 struct mtd_info *mtd; unregister_mtd_user() local 1212 get_mtd_device(struct mtd_info * mtd,int num) get_mtd_device() argument 1247 __get_mtd_device(struct mtd_info * mtd) __get_mtd_device() argument 1284 struct mtd_info *mtd = NULL; of_get_mtd_device_by_node() local 1316 struct mtd_info *mtd = NULL, *other; get_mtd_device_nm() local 1343 put_mtd_device(struct mtd_info * mtd) put_mtd_device() argument 1352 __put_mtd_device(struct mtd_info * mtd) __put_mtd_device() argument 1381 mtd_erase(struct mtd_info * mtd,struct erase_info * instr) mtd_erase() argument 1433 mtd_point(struct mtd_info * mtd,loff_t from,size_t len,size_t * retlen,void ** virt,resource_size_t * phys) mtd_point() argument 1455 mtd_unpoint(struct mtd_info * mtd,loff_t from,size_t len) mtd_unpoint() argument 1474 mtd_get_unmapped_area(struct mtd_info * mtd,unsigned long len,unsigned long offset,unsigned long flags) mtd_get_unmapped_area() argument 1492 mtd_update_ecc_stats(struct mtd_info * mtd,struct mtd_info * master,const struct mtd_ecc_stats * old_stats) mtd_update_ecc_stats() argument 1511 mtd_read(struct mtd_info * mtd,loff_t from,size_t len,size_t * retlen,u_char * buf) mtd_read() argument 1530 mtd_write(struct mtd_info * mtd,loff_t to,size_t len,size_t * retlen,const u_char * buf) mtd_write() argument 1554 mtd_panic_write(struct mtd_info * mtd,loff_t to,size_t len,size_t * retlen,const u_char * buf) mtd_panic_write() argument 1576 mtd_check_oob_ops(struct mtd_info * mtd,loff_t offs,struct mtd_oob_ops * ops) mtd_check_oob_ops() argument 1609 mtd_read_oob_std(struct mtd_info * mtd,loff_t from,struct mtd_oob_ops * ops) mtd_read_oob_std() argument 1625 mtd_write_oob_std(struct mtd_info * mtd,loff_t to,struct mtd_oob_ops * ops) mtd_write_oob_std() argument 1641 mtd_io_emulated_slc(struct mtd_info * mtd,loff_t start,bool read,struct mtd_oob_ops * ops) mtd_io_emulated_slc() argument 1704 mtd_read_oob(struct mtd_info * mtd,loff_t from,struct mtd_oob_ops * ops) mtd_read_oob() argument 1748 mtd_write_oob(struct mtd_info * mtd,loff_t to,struct mtd_oob_ops * ops) mtd_write_oob() argument 1792 mtd_ooblayout_ecc(struct mtd_info * mtd,int section,struct mtd_oob_region * oobecc) mtd_ooblayout_ecc() argument 1826 mtd_ooblayout_free(struct mtd_info * mtd,int section,struct mtd_oob_region * oobfree) mtd_ooblayout_free() argument 1860 mtd_ooblayout_find_region(struct mtd_info * mtd,int byte,int * sectionp,struct mtd_oob_region * oobregion,int (* iter)(struct mtd_info *,int section,struct mtd_oob_region * oobregion)) mtd_ooblayout_find_region() argument 1906 mtd_ooblayout_find_eccregion(struct mtd_info * mtd,int eccbyte,int * section,struct mtd_oob_region * oobregion) mtd_ooblayout_find_eccregion() argument 1929 mtd_ooblayout_get_bytes(struct mtd_info * mtd,u8 * buf,const u8 * oobbuf,int start,int nbytes,int (* iter)(struct mtd_info *,int section,struct mtd_oob_region * oobregion)) mtd_ooblayout_get_bytes() argument 1972 mtd_ooblayout_set_bytes(struct mtd_info * mtd,const u8 * buf,u8 * oobbuf,int start,int nbytes,int (* iter)(struct mtd_info *,int section,struct mtd_oob_region * oobregion)) mtd_ooblayout_set_bytes() argument 2010 mtd_ooblayout_count_bytes(struct mtd_info * mtd,int (* iter)(struct mtd_info *,int section,struct mtd_oob_region * oobregion)) mtd_ooblayout_count_bytes() argument 2044 mtd_ooblayout_get_eccbytes(struct mtd_info * mtd,u8 * eccbuf,const u8 * oobbuf,int start,int nbytes) mtd_ooblayout_get_eccbytes() argument 2064 mtd_ooblayout_set_eccbytes(struct mtd_info * mtd,const u8 * eccbuf,u8 * oobbuf,int start,int nbytes) mtd_ooblayout_set_eccbytes() argument 2084 mtd_ooblayout_get_databytes(struct mtd_info * mtd,u8 * databuf,const u8 * oobbuf,int start,int nbytes) mtd_ooblayout_get_databytes() argument 2104 mtd_ooblayout_set_databytes(struct mtd_info * mtd,const u8 * databuf,u8 * oobbuf,int start,int nbytes) mtd_ooblayout_set_databytes() argument 2120 mtd_ooblayout_count_freebytes(struct mtd_info * mtd) mtd_ooblayout_count_freebytes() argument 2134 mtd_ooblayout_count_eccbytes(struct mtd_info * mtd) mtd_ooblayout_count_eccbytes() argument 2145 mtd_get_fact_prot_info(struct mtd_info * mtd,size_t len,size_t * retlen,struct otp_info * buf) mtd_get_fact_prot_info() argument 2158 mtd_read_fact_prot_reg(struct mtd_info * mtd,loff_t from,size_t len,size_t * retlen,u_char * buf) mtd_read_fact_prot_reg() argument 2172 mtd_get_user_prot_info(struct mtd_info * mtd,size_t len,size_t * retlen,struct otp_info * buf) mtd_get_user_prot_info() argument 2185 mtd_read_user_prot_reg(struct mtd_info * mtd,loff_t from,size_t len,size_t * retlen,u_char * buf) mtd_read_user_prot_reg() argument 2199 mtd_write_user_prot_reg(struct mtd_info * mtd,loff_t to,size_t len,size_t * retlen,const u_char * buf) mtd_write_user_prot_reg() argument 2222 mtd_lock_user_prot_reg(struct mtd_info * mtd,loff_t from,size_t len) mtd_lock_user_prot_reg() argument 2234 mtd_erase_user_prot_reg(struct mtd_info * mtd,loff_t from,size_t len) mtd_erase_user_prot_reg() argument 2247 mtd_lock(struct mtd_info * mtd,loff_t ofs,uint64_t len) mtd_lock() argument 2267 mtd_unlock(struct mtd_info * mtd,loff_t ofs,uint64_t len) mtd_unlock() argument 2287 mtd_is_locked(struct mtd_info * mtd,loff_t ofs,uint64_t len) mtd_is_locked() argument 2307 mtd_block_isreserved(struct mtd_info * mtd,loff_t ofs) mtd_block_isreserved() argument 2323 mtd_block_isbad(struct mtd_info * mtd,loff_t ofs) mtd_block_isbad() argument 2339 mtd_block_markbad(struct mtd_info * mtd,loff_t ofs) mtd_block_markbad() argument 2379 default_mtd_writev(struct mtd_info * mtd,const struct kvec * vecs,unsigned long count,loff_t to,size_t * retlen) default_mtd_writev() argument 2411 mtd_writev(struct mtd_info * mtd,const struct kvec * vecs,unsigned long count,loff_t to,size_t * retlen) mtd_writev() argument 2452 mtd_kmalloc_up_to(const struct mtd_info * mtd,size_t * size) mtd_kmalloc_up_to() argument 2484 struct mtd_info *mtd; mtd_proc_show() local [all...] |
H A D | mtdpstore.c | 8 #include <linux/mtd/mtd.h> 16 struct mtd_info *mtd; member 30 struct mtd_info *mtd = cxt->mtd; in mtdpstore_block_isbad() local 33 off = ALIGN_DOWN(off, mtd->erasesize); in mtdpstore_block_isbad() 34 blknum = div_u64(off, mtd->erasesize); in mtdpstore_block_isbad() 38 ret = mtd_block_isbad(mtd, off); in mtdpstore_block_isbad() 40 dev_err(&mtd->dev, "mtd_block_isbad failed, aborting\n"); in mtdpstore_block_isbad() 52 struct mtd_info *mtd in mtdpstore_panic_block_isbad() local 63 struct mtd_info *mtd = cxt->mtd; mtdpstore_mark_used() local 73 struct mtd_info *mtd = cxt->mtd; mtdpstore_mark_unused() local 83 struct mtd_info *mtd = cxt->mtd; mtdpstore_block_mark_unused() local 110 struct mtd_info *mtd = cxt->mtd; mtdpstore_block_is_used() local 128 struct mtd_info *mtd = cxt->mtd; mtdpstore_is_empty() local 142 struct mtd_info *mtd = cxt->mtd; mtdpstore_mark_removed() local 152 struct mtd_info *mtd = cxt->mtd; mtdpstore_block_clear_removed() local 168 struct mtd_info *mtd = cxt->mtd; mtdpstore_block_is_removed() local 185 struct mtd_info *mtd = cxt->mtd; mtdpstore_erase_do() local 240 struct mtd_info *mtd = cxt->mtd; mtdpstore_security() local 277 struct mtd_info *mtd = cxt->mtd; mtdpstore_write() local 313 struct mtd_info *mtd = cxt->mtd; mtdpstore_read() local 359 struct mtd_info *mtd = cxt->mtd; mtdpstore_panic_write() local 381 mtdpstore_notify_add(struct mtd_info * mtd) mtdpstore_notify_add() argument 450 struct mtd_info *mtd = cxt->mtd; mtdpstore_flush_removed_do() local 502 struct mtd_info *mtd = cxt->mtd; mtdpstore_flush_removed() local 523 mtdpstore_notify_remove(struct mtd_info * mtd) mtdpstore_notify_remove() argument [all...] |
H A D | mtdchar.c | 22 #include <linux/mtd/mtd.h> 23 #include <linux/mtd/partitions.h> 24 #include <linux/mtd/map.h> 31 * Data structure to hold the pointer to the mtd device as well 35 struct mtd_info *mtd; member 42 return fixed_size_llseek(file, offset, orig, mfi->mtd->size); in mtdchar_lseek() 50 struct mtd_info *mtd; in mtdchar_open() local 59 mtd = get_mtd_device(NULL, devnum); in mtdchar_open() 61 if (IS_ERR(mtd)) in mtdchar_open() 94 struct mtd_info *mtd = mfi->mtd; mtdchar_close() local 131 struct mtd_info *mtd = mfi->mtd; mtdchar_read() local 221 struct mtd_info *mtd = mfi->mtd; mtdchar_write() local 312 struct mtd_info *mtd = mfi->mtd; otp_select_filemode() local 340 mtdchar_writeoob(struct file * file,struct mtd_info * mtd,uint64_t start,uint32_t length,void __user * ptr,uint32_t __user * retp) mtdchar_writeoob() argument 382 mtdchar_readoob(struct file * file,struct mtd_info * mtd,uint64_t start,uint32_t length,void __user * ptr,uint32_t __user * retp) mtdchar_readoob() argument 443 shrink_ecclayout(struct mtd_info * mtd,struct nand_ecclayout_user * to) shrink_ecclayout() argument 491 get_oobinfo(struct mtd_info * mtd,struct nand_oobinfo * to) get_oobinfo() argument 541 mtdchar_blkpg_ioctl(struct mtd_info * mtd,struct blkpg_ioctl_arg * arg) mtdchar_blkpg_ioctl() argument 576 adjust_oob_length(struct mtd_info * mtd,uint64_t start,struct mtd_oob_ops * ops) adjust_oob_length() argument 594 mtdchar_write_ioctl(struct mtd_info * mtd,struct mtd_write_req __user * argp) mtdchar_write_ioctl() argument 692 mtdchar_read_ioctl(struct mtd_info * mtd,struct mtd_read_req __user * argp) mtdchar_read_ioctl() argument 825 struct mtd_info *mtd = mfi->mtd; mtdchar_ioctl() local 1234 struct mtd_info *mtd = mfi->mtd; mtdchar_unlocked_ioctl() local 1260 struct mtd_info *mtd = mfi->mtd; mtdchar_compat_ioctl() local 1348 struct mtd_info *mtd = mfi->mtd; mtdchar_get_unmapped_area() local 1381 struct mtd_info *mtd = mfi->mtd; mtdchar_mmap() local [all...] |
H A D | mtdsuper.c | 2 /* MTD-based superblock management 11 #include <linux/mtd/super.h> 23 * get a superblock on an MTD-backed filesystem 26 struct mtd_info *mtd, in mtd_get_sb() argument 33 sb = sget_dev(fc, MKDEV(MTD_BLOCK_MAJOR, mtd->index)); in mtd_get_sb() 40 mtd->index, mtd->name); in mtd_get_sb() 41 put_mtd_device(mtd); in mtd_get_sb() 45 mtd->index, mtd in mtd_get_sb() 80 struct mtd_info *mtd; mtd_get_sb_by_nr() local 120 struct mtd_info *mtd; get_tree_mtd() local [all...] |
H A D | Kconfig | 1 menuconfig MTD config 2 tristate "Memory Technology Device (MTD) support" 7 will provide the generic support for MTD drivers to register 8 themselves with the kernel and for potential users of MTD devices 11 particular hardware and users of MTD devices. If unsure, say N. 13 if MTD 16 tristate "MTD tests support (DANGEROUS)" 19 This option includes various MTD tests into compilation. The tests 23 WARNING: some of the tests will ERASE entire MTD device which they 27 source "drivers/mtd/parser [all...] |
H A D | mtdblock.c | 3 * Direct MTD block device access 18 #include <linux/mtd/mtd.h> 19 #include <linux/mtd/blktrans.h> 44 static int erase_write (struct mtd_info *mtd, unsigned long pos, in erase_write() argument 57 ret = mtd_erase(mtd, &erase); in erase_write() 61 pos, len, mtd->name); in erase_write() 69 ret = mtd_write(mtd, pos, len, &retlen, buf); in erase_write() 80 struct mtd_info *mtd = mtdblk->mbd.mtd; in write_cached_data() local 113 struct mtd_info *mtd = mtdblk->mbd.mtd; do_cached_write() local 183 struct mtd_info *mtd = mtdblk->mbd.mtd; do_cached_read() local 317 mtdblock_add_mtd(struct mtd_blktrans_ops * tr,struct mtd_info * mtd) mtdblock_add_mtd() argument [all...] |
/linux/include/linux/mtd/ |
H A D | mtd.h | 17 #include <mtd/mtd-abi.h> 37 uint64_t offset; /* At which this region starts, from the beginning of the MTD */ 64 * Note, some MTD drivers do not allow you to write more than one OOB area at 65 * one go. If you try to do that on such an MTD device, -EINVAL will be 66 * returned. If you want to make your implementation portable on all kind of MTD 107 int (*ecc)(struct mtd_info *mtd, int section, 109 int (*free)(struct mtd_info *mtd, int section, 168 * write-unit <-> (pair + group) conversions, we ask the MTD drivers to 171 * MTD user 403 mtd_get_master(struct mtd_info * mtd) mtd_get_master() argument 411 mtd_get_master_ofs(struct mtd_info * mtd,u64 ofs) mtd_get_master_ofs() argument 421 mtd_is_partition(const struct mtd_info * mtd) mtd_is_partition() argument 426 mtd_has_partitions(const struct mtd_info * mtd) mtd_has_partitions() argument 449 mtd_set_ooblayout(struct mtd_info * mtd,const struct mtd_ooblayout_ops * ooblayout) mtd_set_ooblayout() argument 455 mtd_set_pairing_scheme(struct mtd_info * mtd,const struct mtd_pairing_scheme * pairing) mtd_set_pairing_scheme() argument 461 mtd_set_of_node(struct mtd_info * mtd,struct device_node * np) mtd_set_of_node() argument 469 mtd_get_of_node(struct mtd_info * mtd) mtd_get_of_node() argument 474 mtd_oobavail(struct mtd_info * mtd,struct mtd_oob_ops * ops) mtd_oobavail() argument 479 mtd_max_bad_blocks(struct mtd_info * mtd,loff_t ofs,size_t len) mtd_max_bad_blocks() argument 531 mtd_sync(struct mtd_info * mtd) mtd_sync() argument 546 mtd_suspend(struct mtd_info * mtd) mtd_suspend() argument 562 mtd_resume(struct mtd_info * mtd) mtd_resume() argument 575 mtd_div_by_eb(uint64_t sz,struct mtd_info * mtd) mtd_div_by_eb() argument 583 mtd_mod_by_eb(uint64_t sz,struct mtd_info * mtd) mtd_mod_by_eb() argument 599 mtd_align_erase_req(struct mtd_info * mtd,struct erase_info * req) mtd_align_erase_req() argument 618 mtd_div_by_ws(uint64_t sz,struct mtd_info * mtd) mtd_div_by_ws() argument 626 mtd_mod_by_ws(uint64_t sz,struct mtd_info * mtd) mtd_mod_by_ws() argument 633 mtd_wunit_per_eb(struct mtd_info * mtd) mtd_wunit_per_eb() argument 640 mtd_offset_to_wunit(struct mtd_info * mtd,loff_t offs) mtd_offset_to_wunit() argument 645 mtd_wunit_to_offset(struct mtd_info * mtd,loff_t base,int wunit) mtd_wunit_to_offset() argument 652 mtd_has_oob(const struct mtd_info * mtd) mtd_has_oob() argument 659 mtd_type_is_nand(const struct mtd_info * mtd) mtd_type_is_nand() argument 664 mtd_can_have_bb(const struct mtd_info * mtd) mtd_can_have_bb() argument [all...] |
/linux/drivers/mtd/nand/onenand/ |
H A D | onenand_base.c | 26 #include <linux/mtd/mtd.h> 27 #include <linux/mtd/onenand.h> 28 #include <linux/mtd/partitions.h> 66 static int flexonenand_ooblayout_ecc(struct mtd_info *mtd, int section, in flexonenand_ooblayout_ecc() argument 78 static int flexonenand_ooblayout_free(struct mtd_info *mtd, int section, in flexonenand_ooblayout_free() argument 102 static int onenand_ooblayout_128_ecc(struct mtd_info *mtd, int section, in onenand_ooblayout_128_ecc() argument 114 static int onenand_ooblayout_128_free(struct mtd_info *mtd, int section, in onenand_ooblayout_128_free() argument 138 static int onenand_ooblayout_32_64_ecc(struct mtd_info *mtd, int section, in onenand_ooblayout_32_64_ecc() argument 150 static int onenand_ooblayout_32_64_free(struct mtd_info *mtd, in argument 377 flexonenand_region(struct mtd_info * mtd,loff_t addr) flexonenand_region() argument 398 onenand_command(struct mtd_info * mtd,int cmd,loff_t addr,size_t len) onenand_command() argument 553 onenand_wait(struct mtd_info * mtd,int state) onenand_wait() argument 651 onenand_interrupt_wait(struct mtd_info * mtd,int state) onenand_interrupt_wait() argument 667 onenand_try_interrupt_wait(struct mtd_info * mtd,int state) onenand_try_interrupt_wait() argument 698 onenand_setup_wait(struct mtd_info * mtd) onenand_setup_wait() argument 733 onenand_bufferram_offset(struct mtd_info * mtd,int area) onenand_bufferram_offset() argument 758 onenand_read_bufferram(struct mtd_info * mtd,int area,unsigned char * buffer,int offset,size_t count) onenand_read_bufferram() argument 794 onenand_sync_read_bufferram(struct mtd_info * mtd,int area,unsigned char * buffer,int offset,size_t count) onenand_sync_read_bufferram() argument 834 onenand_write_bufferram(struct mtd_info * mtd,int area,const unsigned char * buffer,int offset,size_t count) onenand_write_bufferram() argument 873 onenand_get_2x_blockpage(struct mtd_info * mtd,loff_t addr) onenand_get_2x_blockpage() argument 897 onenand_check_bufferram(struct mtd_info * mtd,loff_t addr) onenand_check_bufferram() argument 939 onenand_update_bufferram(struct mtd_info * mtd,loff_t addr,int valid) onenand_update_bufferram() argument 972 onenand_invalidate_bufferram(struct mtd_info * mtd,loff_t addr,unsigned int len) onenand_invalidate_bufferram() argument 994 onenand_get_device(struct mtd_info * mtd,int new_state) onenand_get_device() argument 1031 onenand_release_device(struct mtd_info * mtd) onenand_release_device() argument 1051 onenand_transfer_auto_oob(struct mtd_info * mtd,uint8_t * buf,int column,int thislen) onenand_transfer_auto_oob() argument 1075 onenand_recover_lsb(struct mtd_info * mtd,loff_t addr,int status) onenand_recover_lsb() argument 1114 onenand_mlc_read_ops_nolock(struct mtd_info * mtd,loff_t from,struct mtd_oob_ops * ops) onenand_mlc_read_ops_nolock() argument 1215 onenand_read_ops_nolock(struct mtd_info * mtd,loff_t from,struct mtd_oob_ops * ops) onenand_read_ops_nolock() argument 1344 onenand_read_oob_nolock(struct mtd_info * mtd,loff_t from,struct mtd_oob_ops * ops) onenand_read_oob_nolock() argument 1439 onenand_read_oob(struct mtd_info * mtd,loff_t from,struct mtd_oob_ops * ops) onenand_read_oob() argument 1486 onenand_bbt_wait(struct mtd_info * mtd,int state) onenand_bbt_wait() argument 1538 onenand_bbt_read_oob(struct mtd_info * mtd,loff_t from,struct mtd_oob_ops * ops) onenand_bbt_read_oob() argument 1613 onenand_verify_oob(struct mtd_info * mtd,const u_char * buf,loff_t to) onenand_verify_oob() argument 1642 onenand_verify(struct mtd_info * mtd,const u_char * buf,loff_t addr,size_t len) onenand_verify() argument 1683 onenand_panic_wait(struct mtd_info * mtd) onenand_panic_wait() argument 1707 onenand_panic_write(struct mtd_info * mtd,loff_t to,size_t len,size_t * retlen,const u_char * buf) onenand_panic_write() argument 1783 onenand_fill_auto_oob(struct mtd_info * mtd,u_char * oob_buf,const u_char * buf,int column,int thislen) onenand_fill_auto_oob() argument 1797 onenand_write_ops_nolock(struct mtd_info * mtd,loff_t to,struct mtd_oob_ops * ops) onenand_write_ops_nolock() argument 1978 onenand_write_oob_nolock(struct mtd_info * mtd,loff_t to,struct mtd_oob_ops * ops) onenand_write_oob_nolock() argument 2086 onenand_write_oob(struct mtd_info * mtd,loff_t to,struct mtd_oob_ops * ops) onenand_write_oob() argument 2120 onenand_block_isbad_nolock(struct mtd_info * mtd,loff_t ofs,int allowbbt) onenand_block_isbad_nolock() argument 2130 onenand_multiblock_erase_verify(struct mtd_info * mtd,struct erase_info * instr) onenand_multiblock_erase_verify() argument 2162 onenand_multiblock_erase(struct mtd_info * mtd,struct erase_info * instr,unsigned int block_size) onenand_multiblock_erase() argument 2273 onenand_block_by_block_erase(struct mtd_info * mtd,struct erase_info * instr,struct mtd_erase_region_info * region,unsigned int block_size) onenand_block_by_block_erase() argument 2343 onenand_erase(struct mtd_info * mtd,struct erase_info * instr) onenand_erase() argument 2407 onenand_sync(struct mtd_info * mtd) onenand_sync() argument 2425 onenand_block_isbad(struct mtd_info * mtd,loff_t ofs) onenand_block_isbad() argument 2443 onenand_default_block_markbad(struct mtd_info * mtd,loff_t ofs) onenand_default_block_markbad() argument 2477 onenand_block_markbad(struct mtd_info * mtd,loff_t ofs) onenand_block_markbad() argument 2505 onenand_do_lock_cmd(struct mtd_info * mtd,loff_t ofs,size_t len,int cmd) onenand_do_lock_cmd() argument 2584 onenand_lock(struct mtd_info * mtd,loff_t ofs,uint64_t len) onenand_lock() argument 2602 onenand_unlock(struct mtd_info * mtd,loff_t ofs,uint64_t len) onenand_unlock() argument 2652 onenand_unlock_all(struct mtd_info * mtd) onenand_unlock_all() argument 2700 onenand_otp_command(struct mtd_info * mtd,int cmd,loff_t addr,size_t len) onenand_otp_command() argument 2776 onenand_otp_write_oob_nolock(struct mtd_info * mtd,loff_t to,struct mtd_oob_ops * ops) onenand_otp_write_oob_nolock() argument 2907 do_otp_read(struct mtd_info * mtd,loff_t from,size_t len,size_t * retlen,u_char * buf) do_otp_read() argument 2945 do_otp_write(struct mtd_info * mtd,loff_t to,size_t len,size_t * retlen,u_char * buf) do_otp_write() argument 2989 do_otp_lock(struct mtd_info * mtd,loff_t from,size_t len,size_t * retlen,u_char * buf) do_otp_lock() argument 3039 onenand_otp_walk(struct mtd_info * mtd,loff_t from,size_t len,size_t * retlen,u_char * buf,otp_op_t action,int mode) onenand_otp_walk() argument 3117 onenand_get_fact_prot_info(struct mtd_info * mtd,size_t len,size_t * retlen,struct otp_info * buf) onenand_get_fact_prot_info() argument 3134 onenand_read_fact_prot_reg(struct mtd_info * mtd,loff_t from,size_t len,size_t * retlen,u_char * buf) onenand_read_fact_prot_reg() argument 3149 onenand_get_user_prot_info(struct mtd_info * mtd,size_t len,size_t * retlen,struct otp_info * buf) onenand_get_user_prot_info() argument 3166 onenand_read_user_prot_reg(struct mtd_info * mtd,loff_t from,size_t len,size_t * retlen,u_char * buf) onenand_read_user_prot_reg() argument 3182 onenand_write_user_prot_reg(struct mtd_info * mtd,loff_t from,size_t len,size_t * retlen,const u_char * buf) onenand_write_user_prot_reg() argument 3197 onenand_lock_user_prot_reg(struct mtd_info * mtd,loff_t from,size_t len) onenand_lock_user_prot_reg() argument 3252 onenand_check_features(struct mtd_info * mtd) onenand_check_features() argument 3395 flexonenand_get_boundary(struct mtd_info * mtd) flexonenand_get_boundary() argument 3436 flexonenand_get_size(struct mtd_info * mtd) flexonenand_get_size() argument 3517 flexonenand_check_blocks_erased(struct mtd_info * mtd,int start,int end) flexonenand_check_blocks_erased() argument 3563 flexonenand_set_boundary(struct mtd_info * mtd,int die,int boundary,int lock) flexonenand_set_boundary() argument 3656 onenand_chip_probe(struct mtd_info * mtd) onenand_chip_probe() argument 3701 onenand_probe(struct mtd_info * mtd) onenand_probe() argument 3796 onenand_suspend(struct mtd_info * mtd) onenand_suspend() argument 3805 onenand_resume(struct mtd_info * mtd) onenand_resume() argument 3826 onenand_scan(struct mtd_info * mtd,int maxchips) onenand_scan() argument 3998 onenand_release(struct mtd_info * mtd) onenand_release() argument [all...] |
/linux/drivers/mtd/ubi/ |
H A D | gluebi.c | 9 * This is a small driver which implements fake MTD devices on top of UBI 11 * MTD-oriented software (including all the legacy software) work on top of 14 * Gluebi emulates MTD devices of "MTD_UBIVOLUME" type. Their minimal I/O unit 15 * size (@mtd->writesize) is equivalent to the UBI minimal I/O unit. The 26 #include <linux/mtd/ubi.h> 27 #include <linux/mtd/mtd.h> 36 * @mtd: emulated MTD device description object 44 struct mtd_info mtd; member 84 gluebi_get_device(struct mtd_info * mtd) gluebi_get_device() argument 130 gluebi_put_device(struct mtd_info * mtd) gluebi_put_device() argument 153 gluebi_read(struct mtd_info * mtd,loff_t from,size_t len,size_t * retlen,unsigned char * buf) gluebi_read() argument 193 gluebi_write(struct mtd_info * mtd,loff_t to,size_t len,size_t * retlen,const u_char * buf) gluebi_write() argument 234 gluebi_erase(struct mtd_info * mtd,struct erase_info * instr) gluebi_erase() argument 282 struct mtd_info *mtd; gluebi_create() local 351 struct mtd_info *mtd; gluebi_remove() local 483 struct mtd_info *mtd = &gluebi->mtd; ubi_gluebi_exit() local [all...] |
H A D | build.c | 13 * When UBI is initialized, it attaches all the MTD devices specified as the 14 * module load parameters or the kernel boot parameters. If MTD devices were 15 * specified, UBI does not attach any MTD device, but it is possible to do 26 #include <linux/mtd/partitions.h> 35 /* Maximum length of the 'mtd=' parameter */ 38 /* Maximum number of comma-separated items in the 'mtd=' parameter */ 51 * struct mtd_dev_param - MTD device parameter description data structure. 52 * @name: MTD character device node path, MTD device name, or MTD devic 849 ubi_attach_mtd_dev(struct mtd_info * mtd,int ubi_num,int vid_hdr_offset,int max_beb_per1024,bool disable_fm,bool need_resv_pool) ubi_attach_mtd_dev() argument 1212 struct mtd_info *mtd; open_mtd_device() local 1232 ubi_notify_add(struct mtd_info * mtd) ubi_notify_add() argument 1256 ubi_notify_remove(struct mtd_info * mtd) ubi_notify_remove() argument 1273 struct mtd_info *mtd; ubi_init_attach() local [all...] |
/linux/drivers/mtd/nand/raw/ |
H A D | mpc5121_nfc.c | 21 #include <linux/mtd/mtd.h> 22 #include <linux/mtd/rawnand.h> 23 #include <linux/mtd/partitions.h> 119 static void mpc5121_nfc_done(struct mtd_info *mtd); 122 static inline u16 nfc_read(struct mtd_info *mtd, uint reg) in nfc_read() argument 124 struct nand_chip *chip = mtd_to_nand(mtd); in nfc_read() 131 static inline void nfc_write(struct mtd_info *mtd, uint reg, u16 val) in nfc_write() argument 133 struct nand_chip *chip = mtd_to_nand(mtd); in nfc_write() 140 static inline void nfc_set(struct mtd_info *mtd, uin argument 146 nfc_clear(struct mtd_info * mtd,uint reg,u16 bits) nfc_clear() argument 152 mpc5121_nfc_send_addr(struct mtd_info * mtd,u16 addr) mpc5121_nfc_send_addr() argument 160 mpc5121_nfc_send_cmd(struct mtd_info * mtd,u16 cmd) mpc5121_nfc_send_cmd() argument 168 mpc5121_nfc_send_prog_page(struct mtd_info * mtd) mpc5121_nfc_send_prog_page() argument 176 mpc5121_nfc_send_read_page(struct mtd_info * mtd) mpc5121_nfc_send_read_page() argument 184 mpc5121_nfc_send_read_id(struct mtd_info * mtd) mpc5121_nfc_send_read_id() argument 192 mpc5121_nfc_send_read_status(struct mtd_info * mtd) mpc5121_nfc_send_read_status() argument 202 struct mtd_info *mtd = data; mpc5121_nfc_irq() local 213 mpc5121_nfc_done(struct mtd_info * mtd) mpc5121_nfc_done() argument 233 mpc5121_nfc_addr_cycle(struct mtd_info * mtd,int column,int page) mpc5121_nfc_addr_cycle() argument 256 struct mtd_info *mtd = nand_to_mtd(nand); mpc5121_nfc_select_chip() local 270 ads5121_chipselect_init(struct mtd_info * mtd) ads5121_chipselect_init() argument 323 struct mtd_info *mtd = nand_to_mtd(chip); mpc5121_nfc_command() local 393 mpc5121_nfc_copy_spare(struct mtd_info * mtd,uint offset,u8 * buffer,uint size,int wr) mpc5121_nfc_copy_spare() argument 445 mpc5121_nfc_buf_copy(struct mtd_info * mtd,u_char * buf,int len,int wr) mpc5121_nfc_buf_copy() argument 514 mpc5121_nfc_read_hw_config(struct mtd_info * mtd) mpc5121_nfc_read_hw_config() argument 593 mpc5121_nfc_free(struct device * dev,struct mtd_info * mtd) mpc5121_nfc_free() argument 622 struct mtd_info *mtd; mpc5121_nfc_probe() local 821 struct mtd_info *mtd = dev_get_drvdata(dev); mpc5121_nfc_remove() local [all...] |
/linux/Documentation/ABI/testing/ |
H A 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 7 (MTD core). 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/mtdXr [all...] |
/linux/drivers/mtd/chips/ |
H A D | map_ram.c | 15 #include <linux/mtd/mtd.h> 16 #include <linux/mtd/map.h> 24 static int mapram_point (struct mtd_info *mtd, loff_t from, size_t len, 26 static int mapram_unpoint(struct mtd_info *mtd, loff_t from, size_t len); 37 struct mtd_info *mtd; in map_ram_probe() local 60 mtd = kzalloc(sizeof(*mtd), GFP_KERNEL); in map_ram_probe() 61 if (!mtd) in map_ram_probe() 65 mtd in map_ram_probe() 91 mapram_point(struct mtd_info * mtd,loff_t from,size_t len,size_t * retlen,void ** virt,resource_size_t * phys) mapram_point() argument 105 mapram_unpoint(struct mtd_info * mtd,loff_t from,size_t len) mapram_unpoint() argument 110 mapram_read(struct mtd_info * mtd,loff_t from,size_t len,size_t * retlen,u_char * buf) mapram_read() argument 119 mapram_write(struct mtd_info * mtd,loff_t to,size_t len,size_t * retlen,const u_char * buf) mapram_write() argument 128 mapram_erase(struct mtd_info * mtd,struct erase_info * instr) mapram_erase() argument 142 mapram_nop(struct mtd_info * mtd) mapram_nop() argument [all...] |
H A D | map_rom.c | 16 #include <linux/mtd/mtd.h> 17 #include <linux/mtd/map.h> 23 static int maprom_erase (struct mtd_info *mtd, struct erase_info *info); 24 static int maprom_point (struct mtd_info *mtd, loff_t from, size_t len, 26 static int maprom_unpoint(struct mtd_info *mtd, loff_t from, size_t len); 46 struct mtd_info *mtd; in map_rom_probe() local 48 mtd = kzalloc(sizeof(*mtd), GFP_KERNEL); in map_rom_probe() 49 if (!mtd) in map_rom_probe() 73 maprom_point(struct mtd_info * mtd,loff_t from,size_t len,size_t * retlen,void ** virt,resource_size_t * phys) maprom_point() argument 87 maprom_unpoint(struct mtd_info * mtd,loff_t from,size_t len) maprom_unpoint() argument 92 maprom_read(struct mtd_info * mtd,loff_t from,size_t len,size_t * retlen,u_char * buf) maprom_read() argument 101 maprom_nop(struct mtd_info * mtd) maprom_nop() argument 106 maprom_write(struct mtd_info * mtd,loff_t to,size_t len,size_t * retlen,const u_char * buf) maprom_write() argument 111 maprom_erase(struct mtd_info * mtd,struct erase_info * info) maprom_erase() argument [all...] |
H A D | map_absent.c | 6 * This map driver is used to allocate "placeholder" MTD 9 * registration of MTD device nodes regardless of probe outcome. 27 #include <linux/mtd/mtd.h> 28 #include <linux/mtd/map.h> 47 struct mtd_info *mtd; in map_absent_probe() local 49 mtd = kzalloc(sizeof(*mtd), GFP_KERNEL); in map_absent_probe() 50 if (!mtd) { in map_absent_probe() 55 mtd in map_absent_probe() 72 map_absent_read(struct mtd_info * mtd,loff_t from,size_t len,size_t * retlen,u_char * buf) map_absent_read() argument 77 map_absent_write(struct mtd_info * mtd,loff_t to,size_t len,size_t * retlen,const u_char * buf) map_absent_write() argument 82 map_absent_erase(struct mtd_info * mtd,struct erase_info * instr) map_absent_erase() argument 87 map_absent_sync(struct mtd_info * mtd) map_absent_sync() argument 92 map_absent_destroy(struct mtd_info * mtd) map_absent_destroy() argument [all...] |
/linux/drivers/mtd/devices/ |
H A D | mtdram.c | 2 * mtdram - a test mtd device 18 #include <linux/mtd/mtd.h> 19 #include <linux/mtd/mtdram.h> 34 // We could store these in the mtd structure, but we only support 1 device.. 37 static int check_offs_len(struct mtd_info *mtd, loff_t ofs, uint64_t len) in check_offs_len() argument 42 if (mtd_mod_by_eb(ofs, mtd)) { in check_offs_len() 48 if (mtd_mod_by_eb(len, mtd)) { in check_offs_len() 56 static int ram_erase(struct mtd_info *mtd, struct erase_info *instr) in ram_erase() argument 58 if (check_offs_len(mtd, inst in ram_erase() 65 ram_point(struct mtd_info * mtd,loff_t from,size_t len,size_t * retlen,void ** virt,resource_size_t * phys) ram_point() argument 94 ram_unpoint(struct mtd_info * mtd,loff_t from,size_t len) ram_unpoint() argument 99 ram_read(struct mtd_info * mtd,loff_t from,size_t len,size_t * retlen,u_char * buf) ram_read() argument 107 ram_write(struct mtd_info * mtd,loff_t to,size_t len,size_t * retlen,const u_char * buf) ram_write() argument 124 mtdram_init_device(struct mtd_info * mtd,void * mapped_address,unsigned long size,const char * name) mtdram_init_device() argument [all...] |
H A D | powernv_flash.c | 3 * OPAL PNOR flash MTD abstraction 16 #include <linux/mtd/mtd.h> 17 #include <linux/mtd/partitions.h> 26 * This driver creates the a Linux MTD abstraction for platform PNOR flash 31 struct mtd_info mtd; member 42 * Don't return -ERESTARTSYS if we can't get a token, the MTD core 46 static int powernv_flash_async_op(struct mtd_info *mtd, enum flash_op op, in powernv_flash_async_op() argument 49 struct powernv_flash *info = (struct powernv_flash *)mtd->priv; in powernv_flash_async_op() 50 struct device *dev = &mtd in powernv_flash_async_op() 138 powernv_flash_read(struct mtd_info * mtd,loff_t from,size_t len,size_t * retlen,u_char * buf) powernv_flash_read() argument 155 powernv_flash_write(struct mtd_info * mtd,loff_t to,size_t len,size_t * retlen,const u_char * buf) powernv_flash_write() argument 168 powernv_flash_erase(struct mtd_info * mtd,struct erase_info * erase) powernv_flash_erase() argument 186 powernv_flash_set_driver_info(struct device * dev,struct mtd_info * mtd) powernv_flash_set_driver_info() argument [all...] |
/linux/drivers/mtd/tests/ |
H A D | stresstest.c | 5 * Test random reads, writes and erases on MTD device. 16 #include <linux/mtd/mtd.h> 26 MODULE_PARM_DESC(dev, "MTD device number to use"); 32 static struct mtd_info *mtd; variable 73 if (offs >= mtd->erasesize) in do_read() 74 offs -= mtd->erasesize; in do_read() 75 if (offs + len > mtd->erasesize) in do_read() 76 len = mtd->erasesize - offs; in do_read() 78 addr = (loff_t)eb * mtd in do_read() [all...] |
H A D | pagetest.c | 5 * Test page read and write on MTD device. 17 #include <linux/mtd/mtd.h> 26 MODULE_PARM_DESC(dev, "MTD device number to use"); 28 static struct mtd_info *mtd; variable 43 loff_t addr = (loff_t)ebnum * mtd->erasesize; in write_eraseblock() 45 prandom_bytes_state(&rnd_state, writebuf, mtd->erasesize); in write_eraseblock() 47 return mtdtest_write(mtd, addr, mtd->erasesize, writebuf); in write_eraseblock() 55 loff_t addr = (loff_t)ebnum * mtd in verify_eraseblock() [all...] |
H A D | oobtest.c | 5 * Test OOB read and write on MTD device. 17 #include <linux/mtd/mtd.h> 27 MODULE_PARM_DESC(dev, "MTD device number to use"); 31 static struct mtd_info *mtd; variable 61 loff_t addr = (loff_t)ebnum * mtd->erasesize; in write_eraseblock() 64 for (i = 0; i < pgcnt; ++i, addr += mtd->writesize) { in write_eraseblock() 73 err = mtd_write_oob(mtd, addr, &ops); in write_eraseblock() 170 loff_t addr = (loff_t)ebnum * mtd->erasesize; in verify_eraseblock() 174 for (i = 0; i < pgcnt; ++i, addr += mtd in verify_eraseblock() [all...] |
H A D | speedtest.c | 5 * Test read and write speed of a MTD device. 17 #include <linux/mtd/mtd.h> 26 MODULE_PARM_DESC(dev, "MTD device number to use"); 33 static struct mtd_info *mtd; variable 47 loff_t addr = (loff_t)ebnum * mtd->erasesize; in multiblock_erase() 51 ei.len = mtd->erasesize * blocks; in multiblock_erase() 53 err = mtd_erase(mtd, &ei); in multiblock_erase() 65 loff_t addr = (loff_t)ebnum * mtd->erasesize; in write_eraseblock() 67 return mtdtest_write(mtd, add in write_eraseblock() [all...] |
H A D | readtest.c | 5 * Check MTD device read. 16 #include <linux/mtd/mtd.h> 24 MODULE_PARM_DESC(dev, "MTD device number to use"); 26 static struct mtd_info *mtd; variable 38 loff_t addr = (loff_t)ebnum * mtd->erasesize; in read_eraseblock_by_page() 44 ret = mtdtest_read(mtd, addr, pgsize, buf); in read_eraseblock_by_page() 49 if (mtd->oobsize) { in read_eraseblock_by_page() 55 ops.ooblen = mtd->oobsize; in read_eraseblock_by_page() 60 ret = mtd_read_oob(mtd, add in read_eraseblock_by_page() [all...] |
/linux/drivers/net/ethernet/sfc/siena/ |
H A D | mtd.c | 9 #include <linux/mtd/mtd.h> 16 #define to_efx_mtd_partition(mtd) \ argument 17 container_of(mtd, struct efx_mtd_partition, mtd) 19 /* MTD interface */ 21 static int efx_mtd_erase(struct mtd_info *mtd, struct erase_info *erase) in efx_mtd_erase() argument 23 struct efx_nic *efx = mtd->priv; in efx_mtd_erase() 25 return efx->type->mtd_erase(mtd, erase->addr, erase->len); in efx_mtd_erase() 28 static void efx_mtd_sync(struct mtd_info *mtd) in efx_mtd_sync() argument [all...] |
/linux/drivers/net/ethernet/sfc/ |
H A D | mtd.c | 9 #include <linux/mtd/mtd.h> 16 #define to_efx_mtd_partition(mtd) \ argument 17 container_of(mtd, struct efx_mtd_partition, mtd) 19 /* MTD interface */ 21 static int efx_mtd_erase(struct mtd_info *mtd, struct erase_info *erase) in efx_mtd_erase() argument 23 struct efx_nic *efx = mtd->priv; in efx_mtd_erase() 25 return efx->type->mtd_erase(mtd, erase->addr, erase->len); in efx_mtd_erase() 28 static void efx_mtd_sync(struct mtd_info *mtd) in efx_mtd_sync() argument [all...] |
/linux/drivers/net/ethernet/sfc/falcon/ |
H A D | mtd.c | 9 #include <linux/mtd/mtd.h> 16 #define to_ef4_mtd_partition(mtd) \ argument 17 container_of(mtd, struct ef4_mtd_partition, mtd) 19 /* MTD interface */ 21 static int ef4_mtd_erase(struct mtd_info *mtd, struct erase_info *erase) in ef4_mtd_erase() argument 23 struct ef4_nic *efx = mtd->priv; in ef4_mtd_erase() 25 return efx->type->mtd_erase(mtd, erase->addr, erase->len); in ef4_mtd_erase() 28 static void ef4_mtd_sync(struct mtd_info *mtd) in ef4_mtd_sync() argument [all...] |