Lines Matching refs:mtd_info

23 struct mtd_info;
102 int (*ecc)(struct mtd_info *mtd, int section,
104 int (*free)(struct mtd_info *mtd, int section,
178 int (*get_info)(struct mtd_info *mtd, int wunit,
180 int (*get_wunit)(struct mtd_info *mtd,
235 struct mtd_info { struct
313 int (*_erase) (struct mtd_info *mtd, struct erase_info *instr); argument
314 int (*_point) (struct mtd_info *mtd, loff_t from, size_t len, argument
316 int (*_unpoint) (struct mtd_info *mtd, loff_t from, size_t len); argument
317 int (*_read) (struct mtd_info *mtd, loff_t from, size_t len, argument
319 int (*_write) (struct mtd_info *mtd, loff_t to, size_t len, argument
321 int (*_panic_write) (struct mtd_info *mtd, loff_t to, size_t len, argument
323 int (*_read_oob) (struct mtd_info *mtd, loff_t from, argument
325 int (*_write_oob) (struct mtd_info *mtd, loff_t to, argument
327 int (*_get_fact_prot_info) (struct mtd_info *mtd, size_t len, argument
329 int (*_read_fact_prot_reg) (struct mtd_info *mtd, loff_t from, argument
331 int (*_get_user_prot_info) (struct mtd_info *mtd, size_t len, argument
333 int (*_read_user_prot_reg) (struct mtd_info *mtd, loff_t from, argument
335 int (*_write_user_prot_reg) (struct mtd_info *mtd, loff_t to, argument
337 int (*_lock_user_prot_reg) (struct mtd_info *mtd, loff_t from, argument
339 int (*_writev) (struct mtd_info *mtd, const struct kvec *vecs, argument
341 void (*_sync) (struct mtd_info *mtd); argument
342 int (*_lock) (struct mtd_info *mtd, loff_t ofs, uint64_t len); argument
343 int (*_unlock) (struct mtd_info *mtd, loff_t ofs, uint64_t len); argument
344 int (*_is_locked) (struct mtd_info *mtd, loff_t ofs, uint64_t len); argument
345 int (*_block_isreserved) (struct mtd_info *mtd, loff_t ofs); argument
346 int (*_block_isbad) (struct mtd_info *mtd, loff_t ofs); argument
347 int (*_block_markbad) (struct mtd_info *mtd, loff_t ofs); argument
348 int (*_max_bad_blocks) (struct mtd_info *mtd, loff_t ofs, size_t len); argument
349 int (*_suspend) (struct mtd_info *mtd); argument
350 void (*_resume) (struct mtd_info *mtd); argument
351 void (*_reboot) (struct mtd_info *mtd); argument
356 int (*_get_device) (struct mtd_info *mtd); argument
357 void (*_put_device) (struct mtd_info *mtd); argument
386 struct mtd_info *parent; argument
395 static inline struct mtd_info *mtd_get_master(struct mtd_info *mtd) in mtd_get_master() argument
403 static inline u64 mtd_get_master_ofs(struct mtd_info *mtd, u64 ofs) in mtd_get_master_ofs()
413 static inline bool mtd_is_partition(const struct mtd_info *mtd) in mtd_is_partition()
418 static inline bool mtd_has_partitions(const struct mtd_info *mtd) in mtd_has_partitions()
423 int mtd_ooblayout_ecc(struct mtd_info *mtd, int section,
425 int mtd_ooblayout_find_eccregion(struct mtd_info *mtd, int eccbyte,
428 int mtd_ooblayout_get_eccbytes(struct mtd_info *mtd, u8 *eccbuf,
430 int mtd_ooblayout_set_eccbytes(struct mtd_info *mtd, const u8 *eccbuf,
432 int mtd_ooblayout_free(struct mtd_info *mtd, int section,
434 int mtd_ooblayout_get_databytes(struct mtd_info *mtd, u8 *databuf,
436 int mtd_ooblayout_set_databytes(struct mtd_info *mtd, const u8 *databuf,
438 int mtd_ooblayout_count_freebytes(struct mtd_info *mtd);
439 int mtd_ooblayout_count_eccbytes(struct mtd_info *mtd);
441 static inline void mtd_set_ooblayout(struct mtd_info *mtd, in mtd_set_ooblayout()
447 static inline void mtd_set_pairing_scheme(struct mtd_info *mtd, in mtd_set_pairing_scheme()
453 static inline void mtd_set_of_node(struct mtd_info *mtd, in mtd_set_of_node()
461 static inline struct device_node *mtd_get_of_node(struct mtd_info *mtd) in mtd_get_of_node()
466 static inline u32 mtd_oobavail(struct mtd_info *mtd, struct mtd_oob_ops *ops) in mtd_oobavail()
471 static inline int mtd_max_bad_blocks(struct mtd_info *mtd, in mtd_max_bad_blocks()
474 struct mtd_info *master = mtd_get_master(mtd); in mtd_max_bad_blocks()
486 int mtd_wunit_to_pairing_info(struct mtd_info *mtd, int wunit,
488 int mtd_pairing_info_to_wunit(struct mtd_info *mtd,
490 int mtd_pairing_groups(struct mtd_info *mtd);
491 int mtd_erase(struct mtd_info *mtd, struct erase_info *instr);
492 int mtd_point(struct mtd_info *mtd, loff_t from, size_t len, size_t *retlen,
494 int mtd_unpoint(struct mtd_info *mtd, loff_t from, size_t len);
495 unsigned long mtd_get_unmapped_area(struct mtd_info *mtd, unsigned long len,
497 int mtd_read(struct mtd_info *mtd, loff_t from, size_t len, size_t *retlen,
499 int mtd_write(struct mtd_info *mtd, loff_t to, size_t len, size_t *retlen,
501 int mtd_panic_write(struct mtd_info *mtd, loff_t to, size_t len, size_t *retlen,
504 int mtd_read_oob(struct mtd_info *mtd, loff_t from, struct mtd_oob_ops *ops);
505 int mtd_write_oob(struct mtd_info *mtd, loff_t to, struct mtd_oob_ops *ops);
507 int mtd_get_fact_prot_info(struct mtd_info *mtd, size_t len, size_t *retlen,
509 int mtd_read_fact_prot_reg(struct mtd_info *mtd, loff_t from, size_t len,
511 int mtd_get_user_prot_info(struct mtd_info *mtd, size_t len, size_t *retlen,
513 int mtd_read_user_prot_reg(struct mtd_info *mtd, loff_t from, size_t len,
515 int mtd_write_user_prot_reg(struct mtd_info *mtd, loff_t to, size_t len,
517 int mtd_lock_user_prot_reg(struct mtd_info *mtd, loff_t from, size_t len);
519 int mtd_writev(struct mtd_info *mtd, const struct kvec *vecs,
522 static inline void mtd_sync(struct mtd_info *mtd) in mtd_sync()
524 struct mtd_info *master = mtd_get_master(mtd); in mtd_sync()
530 int mtd_lock(struct mtd_info *mtd, loff_t ofs, uint64_t len);
531 int mtd_unlock(struct mtd_info *mtd, loff_t ofs, uint64_t len);
532 int mtd_is_locked(struct mtd_info *mtd, loff_t ofs, uint64_t len);
533 int mtd_block_isreserved(struct mtd_info *mtd, loff_t ofs);
534 int mtd_block_isbad(struct mtd_info *mtd, loff_t ofs);
535 int mtd_block_markbad(struct mtd_info *mtd, loff_t ofs);
537 static inline int mtd_suspend(struct mtd_info *mtd) in mtd_suspend()
539 struct mtd_info *master = mtd_get_master(mtd); in mtd_suspend()
553 static inline void mtd_resume(struct mtd_info *mtd) in mtd_resume()
555 struct mtd_info *master = mtd_get_master(mtd); in mtd_resume()
566 static inline uint32_t mtd_div_by_eb(uint64_t sz, struct mtd_info *mtd) in mtd_div_by_eb()
574 static inline uint32_t mtd_mod_by_eb(uint64_t sz, struct mtd_info *mtd) in mtd_mod_by_eb()
590 static inline void mtd_align_erase_req(struct mtd_info *mtd, in mtd_align_erase_req()
609 static inline uint32_t mtd_div_by_ws(uint64_t sz, struct mtd_info *mtd) in mtd_div_by_ws()
617 static inline uint32_t mtd_mod_by_ws(uint64_t sz, struct mtd_info *mtd) in mtd_mod_by_ws()
624 static inline int mtd_wunit_per_eb(struct mtd_info *mtd) in mtd_wunit_per_eb()
626 struct mtd_info *master = mtd_get_master(mtd); in mtd_wunit_per_eb()
631 static inline int mtd_offset_to_wunit(struct mtd_info *mtd, loff_t offs) in mtd_offset_to_wunit()
636 static inline loff_t mtd_wunit_to_offset(struct mtd_info *mtd, loff_t base, in mtd_wunit_to_offset()
643 static inline int mtd_has_oob(const struct mtd_info *mtd) in mtd_has_oob()
645 struct mtd_info *master = mtd_get_master((struct mtd_info *)mtd); in mtd_has_oob()
650 static inline int mtd_type_is_nand(const struct mtd_info *mtd) in mtd_type_is_nand()
655 static inline int mtd_can_have_bb(const struct mtd_info *mtd) in mtd_can_have_bb()
657 struct mtd_info *master = mtd_get_master((struct mtd_info *)mtd); in mtd_can_have_bb()
667 extern int mtd_device_parse_register(struct mtd_info *mtd,
674 extern int mtd_device_unregister(struct mtd_info *master);
675 extern struct mtd_info *get_mtd_device(struct mtd_info *mtd, int num);
676 extern int __get_mtd_device(struct mtd_info *mtd);
677 extern void __put_mtd_device(struct mtd_info *mtd);
678 extern struct mtd_info *get_mtd_device_nm(const char *name);
679 extern void put_mtd_device(struct mtd_info *mtd);
683 void (*add)(struct mtd_info *mtd);
684 void (*remove)(struct mtd_info *mtd);
691 void *mtd_kmalloc_up_to(const struct mtd_info *mtd, size_t *size);
705 unsigned mtd_mmap_capabilities(struct mtd_info *mtd);