/kernel/linux/linux-5.10/drivers/mtd/ubi/ |
H A D | fastmap-wl.c | 14 struct ubi_device *ubi = container_of(wrk, struct ubi_device, fm_work); in update_fastmap_work_fn() local 16 ubi_update_fastmap(ubi); in update_fastmap_work_fn() 17 spin_lock(&ubi->wl_lock); in update_fastmap_work_fn() 18 ubi->fm_work_scheduled = 0; in update_fastmap_work_fn() 19 spin_unlock(&ubi->wl_lock); in update_fastmap_work_fn() 42 static inline void return_unused_peb(struct ubi_device *ubi, in return_unused_peb() argument 45 wl_tree_add(e, &ubi->free); in return_unused_peb() 46 ubi->free_count++; in return_unused_peb() 51 * @ubi: UBI device description object 54 static void return_unused_pool_pebs(struct ubi_device *ubi, in return_unused_pool_pebs() argument 75 ubi_wl_get_fm_peb(struct ubi_device *ubi, int anchor) ubi_wl_get_fm_peb() argument 112 has_enough_free_count(struct ubi_device *ubi, bool is_wl_pool) has_enough_free_count() argument 131 ubi_refill_pools(struct ubi_device *ubi) ubi_refill_pools() argument 207 produce_free_peb(struct ubi_device *ubi) produce_free_peb() argument 230 ubi_wl_get_peb(struct ubi_device *ubi) ubi_wl_get_peb() argument 284 get_peb_for_wl(struct ubi_device *ubi) get_peb_for_wl() argument 310 ubi_ensure_anchor_pebs(struct ubi_device *ubi) ubi_ensure_anchor_pebs() argument 363 ubi_wl_put_fm_peb(struct ubi_device *ubi, struct ubi_wl_entry *fm_e, int lnum, int torture) ubi_wl_put_fm_peb() argument 402 ubi_fastmap_close(struct ubi_device *ubi) ubi_fastmap_close() argument 429 may_reserve_for_fm(struct ubi_device *ubi, struct ubi_wl_entry *e, struct rb_root *root) may_reserve_for_fm() argument [all...] |
H A D | build.c | 32 #include "ubi.h" 90 /* Protects @ubi_devices and @ubi->ref_count */ 93 /* "Show" method for files in '/<sysfs>/class/ubi/' */ 94 /* UBI version attribute ('/<sysfs>/class/ubi/version') */ 108 /* Root UBI "class" object (corresponds to '/<sysfs>/class/ubi/') */ 118 /* UBI device attributes (correspond to files in '/<sysfs>/class/ubi/ubiX') */ 146 * @ubi: UBI device description object 154 int ubi_volume_notify(struct ubi_device *ubi, struct ubi_volume *vol, int ntype) in ubi_volume_notify() argument 159 ubi_do_get_device_info(ubi, &nt.di); in ubi_volume_notify() 160 ubi_do_get_volume_info(ubi, vo in ubi_volume_notify() 186 ubi_notify_all(struct ubi_device *ubi, int ntype, struct notifier_block *nb) ubi_notify_all() argument 234 struct ubi_device *ubi = ubi_devices[i]; ubi_enumerate_volumes() local 255 struct ubi_device *ubi; ubi_get_device() local 273 ubi_put_device(struct ubi_device *ubi) ubi_put_device() argument 291 struct ubi_device *ubi; ubi_get_by_major() local 323 struct ubi_device *ubi = ubi_devices[i]; ubi_major2num() local 340 struct ubi_device *ubi; dev_attribute_show() local 403 struct ubi_device *ubi = container_of(dev, struct ubi_device, dev); dev_release() local 412 kill_volumes(struct ubi_device *ubi) kill_volumes() argument 432 uif_init(struct ubi_device *ubi) uif_init() argument 495 uif_close(struct ubi_device *ubi) uif_close() argument 507 ubi_free_volumes_from(struct ubi_device *ubi, int from) ubi_free_volumes_from() argument 525 ubi_free_all_volumes(struct ubi_device *ubi) ubi_free_all_volumes() argument 534 ubi_free_internal_volumes(struct ubi_device *ubi) ubi_free_internal_volumes() argument 539 get_bad_peb_limit(const struct ubi_device *ubi, int max_beb_per1024) get_bad_peb_limit() argument 592 io_init(struct ubi_device *ubi, int max_beb_per1024) io_init() argument 774 autoresize(struct ubi_device *ubi, int vol_id) autoresize() argument 840 struct ubi_device *ubi; ubi_attach_mtd_dev() local 1080 struct ubi_device *ubi; ubi_detach_mtd_dev() local [all...] |
H A D | wl.c | 92 #include "ubi.h" 125 static int self_check_ec(struct ubi_device *ubi, int pnum, int ec); 126 static int self_check_in_wl_tree(const struct ubi_device *ubi, 128 static int self_check_in_pq(const struct ubi_device *ubi, 137 * the @ubi->used and @ubi->free RB-trees. 169 * @ubi: UBI device description object 175 static void wl_entry_destroy(struct ubi_device *ubi, struct ubi_wl_entry *e) in wl_entry_destroy() argument 177 ubi->lookuptbl[e->pnum] = NULL; in wl_entry_destroy() 183 * @ubi 188 do_work(struct ubi_device *ubi) do_work() argument 275 in_pq(const struct ubi_device *ubi, struct ubi_wl_entry *e) in_pq() argument 298 prot_queue_add(struct ubi_device *ubi, struct ubi_wl_entry *e) prot_queue_add() argument 318 find_wl_entry(struct ubi_device *ubi, struct rb_root *root, int diff) find_wl_entry() argument 353 find_mean_wl_entry(struct ubi_device *ubi, struct rb_root *root) find_mean_wl_entry() argument 382 wl_get_wle(struct ubi_device *ubi) wl_get_wle() argument 413 prot_queue_del(struct ubi_device *ubi, int pnum) prot_queue_del() argument 438 sync_erase(struct ubi_device *ubi, struct ubi_wl_entry *e, int torture) sync_erase() argument 498 serve_prot_queue(struct ubi_device *ubi) serve_prot_queue() argument 542 __schedule_ubi_work(struct ubi_device *ubi, struct ubi_work *wrk) __schedule_ubi_work() argument 561 schedule_ubi_work(struct ubi_device *ubi, struct ubi_work *wrk) schedule_ubi_work() argument 583 schedule_erase(struct ubi_device *ubi, struct ubi_wl_entry *e, int vol_id, int lnum, int torture, bool nested) schedule_erase() argument 620 do_sync_erase(struct ubi_device *ubi, struct ubi_wl_entry *e, int vol_id, int lnum, int torture) do_sync_erase() argument 647 wear_leveling_worker(struct ubi_device *ubi, struct ubi_work *wrk, int shutdown) global() argument 1006 ensure_wear_leveling(struct ubi_device *ubi, int nested) global() argument 1076 __erase_worker(struct ubi_device *ubi, struct ubi_work *wl_wrk) global() argument 1206 erase_worker(struct ubi_device *ubi, struct ubi_work *wl_wrk, int shutdown) global() argument 1238 ubi_wl_put_peb(struct ubi_device *ubi, int vol_id, int lnum, int pnum, int torture) global() argument 1342 ubi_wl_scrub_peb(struct ubi_device *ubi, int pnum) global() argument 1407 ubi_wl_flush(struct ubi_device *ubi, int vol_id, int lnum) global() argument 1458 scrub_possible(struct ubi_device *ubi, struct ubi_wl_entry *e) global() argument 1491 ubi_bitflip_check(struct ubi_device *ubi, int pnum, int force) global() argument 1607 tree_destroy(struct ubi_device *ubi, struct rb_root *root) global() argument 1641 struct ubi_device *ubi = u; global() local 1709 shutdown_work(struct ubi_device *ubi) global() argument 1728 erase_aeb(struct ubi_device *ubi, struct ubi_ainf_peb *aeb, bool sync) global() argument 1770 ubi_wl_init(struct ubi_device *ubi, struct ubi_attach_info *ai) global() argument 1939 protection_queue_destroy(struct ubi_device *ubi) global() argument 1956 ubi_wl_close(struct ubi_device *ubi) global() argument 1979 self_check_ec(struct ubi_device *ubi, int pnum, int ec) global() argument 2022 self_check_in_wl_tree(const struct ubi_device *ubi, struct ubi_wl_entry *e, struct rb_root *root) global() argument 2045 self_check_in_pq(const struct ubi_device *ubi, struct ubi_wl_entry *e) global() argument 2060 get_peb_for_wl(struct ubi_device *ubi) global() argument 2082 produce_free_peb(struct ubi_device *ubi) global() argument 2108 ubi_wl_get_peb(struct ubi_device *ubi) global() argument [all...] |
H A D | io.c | 35 * @ubi->mtd->writesize field. But as an exception, UBI admits use of another 42 * I/O unit for the headers (the @ubi->hdrs_min_io_size field). But it still 43 * reports NAND page size (@ubi->min_io_size) as a minimal I/O unit for the UBI 51 * device, e.g., make @ubi->min_io_size = 512 in the example above? 70 * copy. It always allocates a @ubi->vid_hdr_alsize bytes buffer for the VID 71 * header and returns a pointer to offset @ubi->vid_hdr_shift of this buffer. 79 #include "ubi.h" 81 static int self_check_not_bad(const struct ubi_device *ubi, int pnum); 82 static int self_check_peb_ec_hdr(const struct ubi_device *ubi, int pnum); 83 static int self_check_ec_hdr(const struct ubi_device *ubi, in 113 ubi_io_read(const struct ubi_device *ubi, void *buf, int pnum, int offset, int len) ubi_io_read() argument 222 ubi_io_write(struct ubi_device *ubi, const void *buf, int pnum, int offset, int len) ubi_io_write() argument 307 do_sync_erase(struct ubi_device *ubi, int pnum) do_sync_erase() argument 363 torture_peb(struct ubi_device *ubi, int pnum) torture_peb() argument 449 nor_erase_prepare(struct ubi_device *ubi, int pnum) nor_erase_prepare() argument 523 ubi_io_sync_erase(struct ubi_device *ubi, int pnum, int torture) ubi_io_sync_erase() argument 565 ubi_io_is_bad(const struct ubi_device *ubi, int pnum) ubi_io_is_bad() argument 594 ubi_io_mark_bad(const struct ubi_device *ubi, int pnum) ubi_io_mark_bad() argument 623 validate_ec_hdr(const struct ubi_device *ubi, const struct ubi_ec_hdr *ec_hdr) validate_ec_hdr() argument 687 ubi_io_read_ec_hdr(struct ubi_device *ubi, int pnum, struct ubi_ec_hdr *ec_hdr, int verbose) ubi_io_read_ec_hdr() argument 796 ubi_io_write_ec_hdr(struct ubi_device *ubi, int pnum, struct ubi_ec_hdr *ec_hdr) ubi_io_write_ec_hdr() argument 832 validate_vid_hdr(const struct ubi_device *ubi, const struct ubi_vid_hdr *vid_hdr) validate_vid_hdr() argument 964 ubi_io_read_vid_hdr(struct ubi_device *ubi, int pnum, struct ubi_vid_io_buf *vidb, int verbose) ubi_io_read_vid_hdr() argument 1048 ubi_io_write_vid_hdr(struct ubi_device *ubi, int pnum, struct ubi_vid_io_buf *vidb) ubi_io_write_vid_hdr() argument 1088 self_check_not_bad(const struct ubi_device *ubi, int pnum) self_check_not_bad() argument 1113 self_check_ec_hdr(const struct ubi_device *ubi, int pnum, const struct ubi_ec_hdr *ec_hdr) self_check_ec_hdr() argument 1151 self_check_peb_ec_hdr(const struct ubi_device *ubi, int pnum) self_check_peb_ec_hdr() argument 1196 self_check_vid_hdr(const struct ubi_device *ubi, int pnum, const struct ubi_vid_hdr *vid_hdr) self_check_vid_hdr() argument 1236 self_check_peb_vid_hdr(const struct ubi_device *ubi, int pnum) self_check_peb_vid_hdr() argument 1289 self_check_write(struct ubi_device *ubi, const void *buf, int pnum, int offset, int len) self_check_write() argument 1354 ubi_self_check_all_ff(struct ubi_device *ubi, int pnum, int offset, int len) ubi_self_check_all_ff() argument [all...] |
H A D | vmt.c | 17 #include "ubi.h" 19 static int self_check_volumes(struct ubi_device *ubi); 24 /* Device attributes corresponding to files in '/<sysfs>/class/ubi/ubiX_Y' */ 43 * "Show" method for files in '/<sysfs>/class/ubi/ubiX_Y/'. 47 * /<sysfs>/class/ubi/ubiX_Y/reserved_ebs; 49 * C. process 1 starts reading the /<sysfs>/class/ubi/ubiX_Y/reserved_ebs file; 52 * out that the volume was removed from the @ubi->volumes array. 59 struct ubi_device *ubi = vol->ubi; in vol_attribute_show() local 61 spin_lock(&ubi in vol_attribute_show() 138 ubi_create_volume(struct ubi_device *ubi, struct ubi_mkvol_req *req) ubi_create_volume() argument 336 struct ubi_device *ubi = vol->ubi; ubi_remove_volume() local 408 struct ubi_device *ubi = vol->ubi; ubi_resize_volume() local 540 ubi_rename_volumes(struct ubi_device *ubi, struct list_head *rename_list) ubi_rename_volumes() argument 579 ubi_add_volume(struct ubi_device *ubi, struct ubi_volume *vol) ubi_add_volume() argument 623 ubi_free_volume(struct ubi_device *ubi, struct ubi_volume *vol) ubi_free_volume() argument 639 self_check_volume(struct ubi_device *ubi, int vol_id) self_check_volume() argument 792 self_check_volumes(struct ubi_device *ubi) self_check_volumes() argument [all...] |
H A D | vtbl.c | 52 #include "ubi.h" 54 static void self_vtbl_check(const struct ubi_device *ubi); 61 * @ubi: UBI device description object 63 static int ubi_update_layout_vol(struct ubi_device *ubi) in ubi_update_layout_vol() argument 68 layout_vol = ubi->volumes[vol_id2idx(ubi, UBI_LAYOUT_VOLUME_ID)]; in ubi_update_layout_vol() 70 err = ubi_eba_atomic_leb_change(ubi, layout_vol, i, ubi->vtbl, in ubi_update_layout_vol() 71 ubi->vtbl_size); in ubi_update_layout_vol() 81 * @ubi 90 ubi_change_vtbl_record(struct ubi_device *ubi, int idx, struct ubi_vtbl_record *vtbl_rec) ubi_change_vtbl_record() argument 121 ubi_vtbl_rename_volumes(struct ubi_device *ubi, struct list_head *rename_list) ubi_vtbl_rename_volumes() argument 157 vtbl_check(const struct ubi_device *ubi, const struct ubi_vtbl_record *vtbl) vtbl_check() argument 285 create_vtbl(struct ubi_device *ubi, struct ubi_attach_info *ai, int copy, void *vtbl) create_vtbl() argument 361 process_lvol(struct ubi_device *ubi, struct ubi_attach_info *ai, struct ubi_ainf_volume *av) process_lvol() argument 484 create_empty_lvol(struct ubi_device *ubi, struct ubi_attach_info *ai) create_empty_lvol() argument 520 init_volumes(struct ubi_device *ubi, const struct ubi_attach_info *ai, const struct ubi_vtbl_record *vtbl) init_volumes() argument 718 check_attaching_info(const struct ubi_device *ubi, struct ubi_attach_info *ai) check_attaching_info() argument 783 ubi_read_volume_table(struct ubi_device *ubi, struct ubi_attach_info *ai) ubi_read_volume_table() argument 868 self_vtbl_check(const struct ubi_device *ubi) self_vtbl_check() argument [all...] |
H A D | eba.c | 34 #include "ubi.h" 65 * @ubi: UBI device description object 71 unsigned long long ubi_next_sqnum(struct ubi_device *ubi) in ubi_next_sqnum() argument 75 spin_lock(&ubi->ltree_lock); in ubi_next_sqnum() 76 sqnum = ubi->global_sqnum++; in ubi_next_sqnum() 77 spin_unlock(&ubi->ltree_lock); in ubi_next_sqnum() 84 * @ubi: UBI device description object 90 static int ubi_get_compat(const struct ubi_device *ubi, int vol_id) in ubi_get_compat() argument 203 * @ubi: UBI device description object 209 * @ubi 211 ltree_lookup(struct ubi_device *ubi, int vol_id, int lnum) ltree_lookup() argument 250 ltree_add_entry(struct ubi_device *ubi, int vol_id, int lnum) ltree_add_entry() argument 320 leb_read_lock(struct ubi_device *ubi, int vol_id, int lnum) leb_read_lock() argument 337 leb_read_unlock(struct ubi_device *ubi, int vol_id, int lnum) leb_read_unlock() argument 362 leb_write_lock(struct ubi_device *ubi, int vol_id, int lnum) leb_write_lock() argument 384 leb_write_trylock(struct ubi_device *ubi, int vol_id, int lnum) leb_write_trylock() argument 413 leb_write_unlock(struct ubi_device *ubi, int vol_id, int lnum) leb_write_unlock() argument 451 ubi_eba_unmap_leb(struct ubi_device *ubi, struct ubi_volume *vol, int lnum) ubi_eba_unmap_leb() argument 498 check_mapping(struct ubi_device *ubi, struct ubi_volume *vol, int lnum, int *pnum) check_mapping() argument 570 check_mapping(struct ubi_device *ubi, struct ubi_volume *vol, int lnum, int *pnum) check_mapping() argument 596 ubi_eba_read_leb(struct ubi_device *ubi, struct ubi_volume *vol, int lnum, void *buf, int offset, int len, int check) ubi_eba_read_leb() argument 748 ubi_eba_read_leb_sg(struct ubi_device *ubi, struct ubi_volume *vol, struct ubi_sgl *sgl, int lnum, int offset, int len, int check) ubi_eba_read_leb_sg() argument 811 struct ubi_device *ubi = vol->ubi; try_recover_peb() local 903 recover_peb(struct ubi_device *ubi, int pnum, int vol_id, int lnum, const void *buf, int offset, int len) recover_peb() argument 949 struct ubi_device *ubi = vol->ubi; try_write_vid_and_data() local 1017 ubi_eba_write_leb(struct ubi_device *ubi, struct ubi_volume *vol, int lnum, const void *buf, int offset, int len) ubi_eba_write_leb() argument 1120 ubi_eba_write_leb_st(struct ubi_device *ubi, struct ubi_volume *vol, int lnum, const void *buf, int len, int used_ebs) ubi_eba_write_leb_st() argument 1198 ubi_eba_atomic_leb_change(struct ubi_device *ubi, struct ubi_volume *vol, int lnum, const void *buf, int len) ubi_eba_atomic_leb_change() argument 1311 ubi_eba_copy_leb(struct ubi_device *ubi, int from, int to, struct ubi_vid_io_buf *vidb) ubi_eba_copy_leb() argument 1490 print_rsvd_warning(struct ubi_device *ubi, struct ubi_attach_info *ai) print_rsvd_warning() argument 1523 self_check_eba(struct ubi_device *ubi, struct ubi_attach_info *ai_fastmap, struct ubi_attach_info *ai_scan) self_check_eba() argument 1619 ubi_eba_init(struct ubi_device *ubi, struct ubi_attach_info *ai) ubi_eba_init() argument [all...] |
H A D | kapi.c | 16 #include "ubi.h" 20 * @ubi: UBI device description object 26 void ubi_do_get_device_info(struct ubi_device *ubi, struct ubi_device_info *di) in ubi_do_get_device_info() argument 28 di->ubi_num = ubi->ubi_num; in ubi_do_get_device_info() 29 di->leb_size = ubi->leb_size; in ubi_do_get_device_info() 30 di->leb_start = ubi->leb_start; in ubi_do_get_device_info() 31 di->min_io_size = ubi->min_io_size; in ubi_do_get_device_info() 32 di->max_write_size = ubi->max_write_size; in ubi_do_get_device_info() 33 di->ro_mode = ubi->ro_mode; in ubi_do_get_device_info() 34 di->cdev = ubi in ubi_do_get_device_info() 48 struct ubi_device *ubi; ubi_get_device_info() local 67 ubi_do_get_volume_info(struct ubi_device *ubi, struct ubi_volume *vol, struct ubi_volume_info *vi) ubi_do_get_volume_info() argument 118 struct ubi_device *ubi; ubi_open_volume() local 236 struct ubi_device *ubi; ubi_open_volume_nm() local 328 struct ubi_device *ubi = vol->ubi; ubi_close_volume() local 372 struct ubi_device *ubi = vol->ubi; leb_read_sanity_check() local 426 struct ubi_device *ubi = vol->ubi; ubi_leb_read() local 466 struct ubi_device *ubi = vol->ubi; ubi_leb_read_sg() local 517 struct ubi_device *ubi = vol->ubi; ubi_leb_write() local 562 struct ubi_device *ubi = vol->ubi; ubi_leb_change() local 602 struct ubi_device *ubi = vol->ubi; ubi_leb_erase() local 663 struct ubi_device *ubi = vol->ubi; ubi_leb_unmap() local 699 struct ubi_device *ubi = vol->ubi; ubi_leb_map() local 761 struct ubi_device *ubi; ubi_sync() local 787 struct ubi_device *ubi; ubi_flush() local [all...] |
H A D | ubi.h | 28 #include <linux/mtd/ubi.h> 31 #include "ubi-media.h" 37 #define UBI_NAME_STR "ubi" 43 void ubi_msg(const struct ubi_device *ubi, const char *fmt, ...); 47 void ubi_warn(const struct ubi_device *ubi, const char *fmt, ...); 51 void ubi_err(const struct ubi_device *ubi, const char *fmt, ...); 79 * The UBI debugfs directory name pattern and maximum name length (3 for "ubi" 82 #define UBI_DFS_DIR_NAME "ubi%d" 198 * &struct ubi_ltree_entry object is inserted to the lock tree (@ubi->ltree). 286 * @ubi 341 struct ubi_device *ubi; global() member 973 ubi_update_fastmap(struct ubi_device *ubi) ubi_update_fastmap() argument 1069 ubi_init_vid_buf(const struct ubi_device *ubi, struct ubi_vid_io_buf *vidb, void *buf) ubi_init_vid_buf() argument 1086 ubi_alloc_vid_buf(const struct ubi_device *ubi, gfp_t gfp_flags) ubi_alloc_vid_buf() argument 1133 ubi_io_read_data(const struct ubi_device *ubi, void *buf, int pnum, int offset, int len) ubi_io_read_data() argument 1145 ubi_io_write_data(struct ubi_device *ubi, const void *buf, int pnum, int offset, int len) ubi_io_write_data() argument 1156 ubi_ro_mode(struct ubi_device *ubi) ubi_ro_mode() argument 1170 vol_id2idx(const struct ubi_device *ubi, int vol_id) vol_id2idx() argument 1183 idx2vol_id(const struct ubi_device *ubi, int idx) idx2vol_id() argument 1214 ubi_find_fm_block(const struct ubi_device *ubi, int pnum) ubi_find_fm_block() argument [all...] |
H A D | misc.c | 10 #include "ubi.h" 14 * @ubi: UBI device description object 22 int ubi_calc_data_len(const struct ubi_device *ubi, const void *buf, in ubi_calc_data_len() argument 27 ubi_assert(!(length & (ubi->min_io_size - 1))); in ubi_calc_data_len() 34 length = ALIGN(i + 1, ubi->min_io_size); in ubi_calc_data_len() 40 * @ubi: UBI device description object 48 int ubi_check_volume(struct ubi_device *ubi, int vol_id) in ubi_check_volume() argument 52 struct ubi_volume *vol = ubi->volumes[vol_id]; in ubi_check_volume() 71 err = ubi_eba_read_leb(ubi, vol, i, buf, 0, size, 1); in ubi_check_volume() 85 * @ubi 92 ubi_update_reserved(struct ubi_device *ubi) ubi_update_reserved() argument 111 ubi_calculate_reserved(struct ubi_device *ubi) ubi_calculate_reserved() argument 145 ubi_msg(const struct ubi_device *ubi, const char *fmt, ...) ubi_msg() argument 161 ubi_warn(const struct ubi_device *ubi, const char *fmt, ...) ubi_warn() argument 178 ubi_err(const struct ubi_device *ubi, const char *fmt, ...) ubi_err() argument [all...] |
H A D | attach.c | 77 #include "ubi.h" 79 static int self_check_ai(struct ubi_device *ubi, struct ubi_attach_info *ai); 317 * @ubi: UBI device description object 330 static int validate_vid_hdr(const struct ubi_device *ubi, in validate_vid_hdr() argument 349 ubi_err(ubi, "inconsistent vol_id"); in validate_vid_hdr() 359 ubi_err(ubi, "inconsistent vol_type"); in validate_vid_hdr() 364 ubi_err(ubi, "inconsistent used_ebs"); in validate_vid_hdr() 369 ubi_err(ubi, "inconsistent data_pad"); in validate_vid_hdr() 377 ubi_err(ubi, "inconsistent VID header at PEB %d", pnum); in validate_vid_hdr() 420 * @ubi 438 ubi_compare_lebs(struct ubi_device *ubi, const struct ubi_ainf_peb *aeb, int pnum, const struct ubi_vid_hdr *vid_hdr) ubi_compare_lebs() argument 563 ubi_add_to_av(struct ubi_device *ubi, struct ubi_attach_info *ai, int pnum, int ec, const struct ubi_vid_hdr *vid_hdr, int bitflips) ubi_add_to_av() argument 771 early_erase_peb(struct ubi_device *ubi, const struct ubi_attach_info *ai, int pnum, int ec) early_erase_peb() argument 818 ubi_early_get_peb(struct ubi_device *ubi, struct ubi_attach_info *ai) ubi_early_get_peb() argument 872 check_corruption(struct ubi_device *ubi, struct ubi_vid_hdr *vid_hdr, int pnum) check_corruption() argument 941 scan_peb(struct ubi_device *ubi, struct ubi_attach_info *ai, int pnum, bool fast) scan_peb() argument 1207 late_analysis(struct ubi_device *ubi, struct ubi_attach_info *ai) late_analysis() argument 1374 scan_all(struct ubi_device *ubi, struct ubi_attach_info *ai, int start) scan_all() argument 1487 scan_fast(struct ubi_device *ubi, struct ubi_attach_info **ai) scan_fast() argument 1555 ubi_attach(struct ubi_device *ubi, int force_scan) ubi_attach() argument 1658 self_check_ai(struct ubi_device *ubi, struct ubi_attach_info *ai) self_check_ai() argument [all...] |
H A D | fastmap.c | 10 #include "ubi.h" 14 * @ubi: UBI device description object 16 static inline unsigned long *init_seen(struct ubi_device *ubi) in init_seen() argument 20 if (!ubi_dbg_chk_fastmap(ubi)) in init_seen() 23 ret = kcalloc(BITS_TO_LONGS(ubi->peb_count), sizeof(unsigned long), in init_seen() 33 * @seen: integer array of @ubi->peb_count size 42 * @ubi: UBI device description object 44 * @seen: integer array of @ubi->peb_count size 46 static inline void set_seen(struct ubi_device *ubi, int pnum, unsigned long *seen) in set_seen() argument 48 if (!ubi_dbg_chk_fastmap(ubi) || !see in set_seen() 59 self_check_seen(struct ubi_device *ubi, unsigned long *seen) self_check_seen() argument 80 ubi_calc_fm_size(struct ubi_device *ubi) ubi_calc_fm_size() argument 104 new_fm_vbuf(struct ubi_device *ubi, int vol_id) new_fm_vbuf() argument 242 update_vol(struct ubi_device *ubi, struct ubi_attach_info *ai, struct ubi_ainf_volume *av, struct ubi_vid_hdr *new_vh, struct ubi_ainf_peb *new_aeb) update_vol() argument 336 process_pool_aeb(struct ubi_device *ubi, struct ubi_attach_info *ai, struct ubi_vid_hdr *new_vh, struct ubi_ainf_peb *new_aeb) process_pool_aeb() argument 400 scan_pool(struct ubi_device *ubi, struct ubi_attach_info *ai, __be32 *pebs, int pool_size, unsigned long long *max_sqnum, struct list_head *free) scan_pool() argument 548 ubi_attach_fastmap(struct ubi_device *ubi, struct ubi_attach_info *ai, struct ubi_fastmap_layout *fm) ubi_attach_fastmap() argument 842 ubi_scan_fastmap(struct ubi_device *ubi, struct ubi_attach_info *ai, struct ubi_attach_info *scan_ai) ubi_scan_fastmap() argument 1095 struct ubi_device *ubi = vol->ubi; ubi_fastmap_init_checkmap() local 1120 ubi_write_fastmap(struct ubi_device *ubi, struct ubi_fastmap_layout *new_fm) ubi_write_fastmap() argument 1390 erase_block(struct ubi_device *ubi, int pnum) erase_block() argument 1442 invalidate_fastmap(struct ubi_device *ubi) invalidate_fastmap() argument 1502 return_fm_pebs(struct ubi_device *ubi, struct ubi_fastmap_layout *fm) return_fm_pebs() argument 1526 ubi_update_fastmap(struct ubi_device *ubi) ubi_update_fastmap() argument [all...] |
H A D | debug.h | 11 void ubi_dump_flash(struct ubi_device *ubi, int pnum, int offset, int len); 48 int ubi_self_check_all_ff(struct ubi_device *ubi, int pnum, int offset, 52 int ubi_debugfs_init_dev(struct ubi_device *ubi); 53 void ubi_debugfs_exit_dev(struct ubi_device *ubi); 57 * @ubi: UBI device description object 62 static inline int ubi_dbg_is_bgt_disabled(const struct ubi_device *ubi) in ubi_dbg_is_bgt_disabled() argument 64 return ubi->dbg.disable_bgt; in ubi_dbg_is_bgt_disabled() 69 * @ubi: UBI device description object 73 static inline int ubi_dbg_is_bitflip(const struct ubi_device *ubi) in ubi_dbg_is_bitflip() argument 75 if (ubi in ubi_dbg_is_bitflip() 87 ubi_dbg_is_write_failure(const struct ubi_device *ubi) ubi_dbg_is_write_failure() argument 101 ubi_dbg_is_erase_failure(const struct ubi_device *ubi) ubi_dbg_is_erase_failure() argument 108 ubi_dbg_chk_io(const struct ubi_device *ubi) ubi_dbg_chk_io() argument 113 ubi_dbg_chk_gen(const struct ubi_device *ubi) ubi_dbg_chk_gen() argument 118 ubi_dbg_chk_fastmap(const struct ubi_device *ubi) ubi_dbg_chk_fastmap() argument 123 ubi_enable_dbg_chk_fastmap(struct ubi_device *ubi) ubi_enable_dbg_chk_fastmap() argument [all...] |
/kernel/linux/linux-6.6/drivers/mtd/ubi/ |
H A D | build.c | 32 #include "ubi.h" 93 /* Protects @ubi_devices and @ubi->ref_count */ 96 /* "Show" method for files in '/<sysfs>/class/ubi/' */ 97 /* UBI version attribute ('/<sysfs>/class/ubi/version') */ 111 /* Root UBI "class" object (corresponds to '/<sysfs>/class/ubi/') */ 120 /* UBI device attributes (correspond to files in '/<sysfs>/class/ubi/ubiX') */ 148 * @ubi: UBI device description object 156 int ubi_volume_notify(struct ubi_device *ubi, struct ubi_volume *vol, int ntype) in ubi_volume_notify() argument 161 ubi_do_get_device_info(ubi, &nt.di); in ubi_volume_notify() 162 ubi_do_get_volume_info(ubi, vo in ubi_volume_notify() 188 ubi_notify_all(struct ubi_device *ubi, int ntype, struct notifier_block *nb) ubi_notify_all() argument 236 struct ubi_device *ubi = ubi_devices[i]; ubi_enumerate_volumes() local 257 struct ubi_device *ubi; ubi_get_device() local 275 ubi_put_device(struct ubi_device *ubi) ubi_put_device() argument 293 struct ubi_device *ubi; ubi_get_by_major() local 325 struct ubi_device *ubi = ubi_devices[i]; ubi_major2num() local 342 struct ubi_device *ubi; dev_attribute_show() local 405 struct ubi_device *ubi = container_of(dev, struct ubi_device, dev); dev_release() local 414 kill_volumes(struct ubi_device *ubi) kill_volumes() argument 434 uif_init(struct ubi_device *ubi) uif_init() argument 497 uif_close(struct ubi_device *ubi) uif_close() argument 509 ubi_free_volumes_from(struct ubi_device *ubi, int from) ubi_free_volumes_from() argument 527 ubi_free_all_volumes(struct ubi_device *ubi) ubi_free_all_volumes() argument 536 ubi_free_internal_volumes(struct ubi_device *ubi) ubi_free_internal_volumes() argument 541 get_bad_peb_limit(const struct ubi_device *ubi, int max_beb_per1024) get_bad_peb_limit() argument 594 io_init(struct ubi_device *ubi, int max_beb_per1024) io_init() argument 774 autoresize(struct ubi_device *ubi, int vol_id) autoresize() argument 845 struct ubi_device *ubi; ubi_attach_mtd_dev() local 1086 struct ubi_device *ubi; ubi_detach_mtd_dev() local [all...] |
H A D | wl.c | 92 #include "ubi.h" 125 static int self_check_ec(struct ubi_device *ubi, int pnum, int ec); 126 static int self_check_in_wl_tree(const struct ubi_device *ubi, 128 static int self_check_in_pq(const struct ubi_device *ubi, 137 * the @ubi->used and @ubi->free RB-trees. 169 * @ubi: UBI device description object 175 static void wl_entry_destroy(struct ubi_device *ubi, struct ubi_wl_entry *e) in wl_entry_destroy() argument 177 ubi->lookuptbl[e->pnum] = NULL; in wl_entry_destroy() 183 * @ubi 188 do_work(struct ubi_device *ubi) do_work() argument 275 in_pq(const struct ubi_device *ubi, struct ubi_wl_entry *e) in_pq() argument 298 prot_queue_add(struct ubi_device *ubi, struct ubi_wl_entry *e) prot_queue_add() argument 318 find_wl_entry(struct ubi_device *ubi, struct rb_root *root, int diff) find_wl_entry() argument 353 find_mean_wl_entry(struct ubi_device *ubi, struct rb_root *root) find_mean_wl_entry() argument 382 wl_get_wle(struct ubi_device *ubi) wl_get_wle() argument 413 prot_queue_del(struct ubi_device *ubi, int pnum) prot_queue_del() argument 438 sync_erase(struct ubi_device *ubi, struct ubi_wl_entry *e, int torture) sync_erase() argument 498 serve_prot_queue(struct ubi_device *ubi) serve_prot_queue() argument 542 __schedule_ubi_work(struct ubi_device *ubi, struct ubi_work *wrk) __schedule_ubi_work() argument 561 schedule_ubi_work(struct ubi_device *ubi, struct ubi_work *wrk) schedule_ubi_work() argument 583 schedule_erase(struct ubi_device *ubi, struct ubi_wl_entry *e, int vol_id, int lnum, int torture, bool nested) schedule_erase() argument 620 do_sync_erase(struct ubi_device *ubi, struct ubi_wl_entry *e, int vol_id, int lnum, int torture) do_sync_erase() argument 647 wear_leveling_worker(struct ubi_device *ubi, struct ubi_work *wrk, int shutdown) global() argument [all...] |
H A D | io.c | 35 * @ubi->mtd->writesize field. But as an exception, UBI admits use of another 42 * I/O unit for the headers (the @ubi->hdrs_min_io_size field). But it still 43 * reports NAND page size (@ubi->min_io_size) as a minimal I/O unit for the UBI 51 * device, e.g., make @ubi->min_io_size = 512 in the example above? 70 * copy. It always allocates a @ubi->vid_hdr_alsize bytes buffer for the VID 71 * header and returns a pointer to offset @ubi->vid_hdr_shift of this buffer. 79 #include "ubi.h" 81 static int self_check_not_bad(const struct ubi_device *ubi, int pnum); 82 static int self_check_peb_ec_hdr(const struct ubi_device *ubi, int pnum); 83 static int self_check_ec_hdr(const struct ubi_device *ubi, in 113 ubi_io_read(const struct ubi_device *ubi, void *buf, int pnum, int offset, int len) ubi_io_read() argument 222 ubi_io_write(struct ubi_device *ubi, const void *buf, int pnum, int offset, int len) ubi_io_write() argument 307 do_sync_erase(struct ubi_device *ubi, int pnum) do_sync_erase() argument 363 torture_peb(struct ubi_device *ubi, int pnum) torture_peb() argument 449 nor_erase_prepare(struct ubi_device *ubi, int pnum) nor_erase_prepare() argument 523 ubi_io_sync_erase(struct ubi_device *ubi, int pnum, int torture) ubi_io_sync_erase() argument 572 ubi_io_is_bad(const struct ubi_device *ubi, int pnum) ubi_io_is_bad() argument 601 ubi_io_mark_bad(const struct ubi_device *ubi, int pnum) ubi_io_mark_bad() argument 630 validate_ec_hdr(const struct ubi_device *ubi, const struct ubi_ec_hdr *ec_hdr) validate_ec_hdr() argument 694 ubi_io_read_ec_hdr(struct ubi_device *ubi, int pnum, struct ubi_ec_hdr *ec_hdr, int verbose) ubi_io_read_ec_hdr() argument 803 ubi_io_write_ec_hdr(struct ubi_device *ubi, int pnum, struct ubi_ec_hdr *ec_hdr) ubi_io_write_ec_hdr() argument 839 validate_vid_hdr(const struct ubi_device *ubi, const struct ubi_vid_hdr *vid_hdr) validate_vid_hdr() argument 966 ubi_io_read_vid_hdr(struct ubi_device *ubi, int pnum, struct ubi_vid_io_buf *vidb, int verbose) ubi_io_read_vid_hdr() argument 1050 ubi_io_write_vid_hdr(struct ubi_device *ubi, int pnum, struct ubi_vid_io_buf *vidb) ubi_io_write_vid_hdr() argument 1090 self_check_not_bad(const struct ubi_device *ubi, int pnum) self_check_not_bad() argument 1115 self_check_ec_hdr(const struct ubi_device *ubi, int pnum, const struct ubi_ec_hdr *ec_hdr) self_check_ec_hdr() argument 1153 self_check_peb_ec_hdr(const struct ubi_device *ubi, int pnum) self_check_peb_ec_hdr() argument 1198 self_check_vid_hdr(const struct ubi_device *ubi, int pnum, const struct ubi_vid_hdr *vid_hdr) self_check_vid_hdr() argument 1238 self_check_peb_vid_hdr(const struct ubi_device *ubi, int pnum) self_check_peb_vid_hdr() argument 1291 self_check_write(struct ubi_device *ubi, const void *buf, int pnum, int offset, int len) self_check_write() argument 1356 ubi_self_check_all_ff(struct ubi_device *ubi, int pnum, int offset, int len) ubi_self_check_all_ff() argument [all...] |
H A D | fastmap-wl.c | 14 struct ubi_device *ubi = container_of(wrk, struct ubi_device, fm_work); in update_fastmap_work_fn() local 16 ubi_update_fastmap(ubi); in update_fastmap_work_fn() 17 spin_lock(&ubi->wl_lock); in update_fastmap_work_fn() 18 ubi->fm_work_scheduled = 0; in update_fastmap_work_fn() 19 spin_unlock(&ubi->wl_lock); in update_fastmap_work_fn() 42 static inline void return_unused_peb(struct ubi_device *ubi, in return_unused_peb() argument 45 wl_tree_add(e, &ubi->free); in return_unused_peb() 46 ubi->free_count++; in return_unused_peb() 51 * @ubi: UBI device description object 54 static void return_unused_pool_pebs(struct ubi_device *ubi, in return_unused_pool_pebs() argument 75 ubi_wl_get_fm_peb(struct ubi_device *ubi, int anchor) ubi_wl_get_fm_peb() argument 112 has_enough_free_count(struct ubi_device *ubi, bool is_wl_pool) has_enough_free_count() argument 131 ubi_refill_pools(struct ubi_device *ubi) ubi_refill_pools() argument 207 produce_free_peb(struct ubi_device *ubi) produce_free_peb() argument 230 ubi_wl_get_peb(struct ubi_device *ubi) ubi_wl_get_peb() argument 286 next_peb_for_wl(struct ubi_device *ubi) next_peb_for_wl() argument 306 need_wear_leveling(struct ubi_device *ubi) need_wear_leveling() argument 336 get_peb_for_wl(struct ubi_device *ubi) get_peb_for_wl() argument 362 ubi_ensure_anchor_pebs(struct ubi_device *ubi) ubi_ensure_anchor_pebs() argument 415 ubi_wl_put_fm_peb(struct ubi_device *ubi, struct ubi_wl_entry *fm_e, int lnum, int torture) ubi_wl_put_fm_peb() argument 454 ubi_fastmap_close(struct ubi_device *ubi) ubi_fastmap_close() argument 481 may_reserve_for_fm(struct ubi_device *ubi, struct ubi_wl_entry *e, struct rb_root *root) may_reserve_for_fm() argument [all...] |
H A D | vmt.c | 17 #include "ubi.h" 19 static int self_check_volumes(struct ubi_device *ubi); 24 /* Device attributes corresponding to files in '/<sysfs>/class/ubi/ubiX_Y' */ 43 * "Show" method for files in '/<sysfs>/class/ubi/ubiX_Y/'. 47 * /<sysfs>/class/ubi/ubiX_Y/reserved_ebs; 49 * C. process 1 starts reading the /<sysfs>/class/ubi/ubiX_Y/reserved_ebs file; 52 * out that the volume was removed from the @ubi->volumes array. 59 struct ubi_device *ubi = vol->ubi; in vol_attribute_show() local 61 spin_lock(&ubi in vol_attribute_show() 138 ubi_create_volume(struct ubi_device *ubi, struct ubi_mkvol_req *req) ubi_create_volume() argument 336 struct ubi_device *ubi = vol->ubi; ubi_remove_volume() local 408 struct ubi_device *ubi = vol->ubi; ubi_resize_volume() local 531 ubi_rename_volumes(struct ubi_device *ubi, struct list_head *rename_list) ubi_rename_volumes() argument 570 ubi_add_volume(struct ubi_device *ubi, struct ubi_volume *vol) ubi_add_volume() argument 614 ubi_free_volume(struct ubi_device *ubi, struct ubi_volume *vol) ubi_free_volume() argument 630 self_check_volume(struct ubi_device *ubi, int vol_id) self_check_volume() argument 783 self_check_volumes(struct ubi_device *ubi) self_check_volumes() argument [all...] |
H A D | vtbl.c | 52 #include "ubi.h" 54 static void self_vtbl_check(const struct ubi_device *ubi); 61 * @ubi: UBI device description object 63 static int ubi_update_layout_vol(struct ubi_device *ubi) in ubi_update_layout_vol() argument 68 layout_vol = ubi->volumes[vol_id2idx(ubi, UBI_LAYOUT_VOLUME_ID)]; in ubi_update_layout_vol() 70 err = ubi_eba_atomic_leb_change(ubi, layout_vol, i, ubi->vtbl, in ubi_update_layout_vol() 71 ubi->vtbl_size); in ubi_update_layout_vol() 81 * @ubi 90 ubi_change_vtbl_record(struct ubi_device *ubi, int idx, struct ubi_vtbl_record *vtbl_rec) ubi_change_vtbl_record() argument 121 ubi_vtbl_rename_volumes(struct ubi_device *ubi, struct list_head *rename_list) ubi_vtbl_rename_volumes() argument 157 vtbl_check(const struct ubi_device *ubi, const struct ubi_vtbl_record *vtbl) vtbl_check() argument 285 create_vtbl(struct ubi_device *ubi, struct ubi_attach_info *ai, int copy, void *vtbl) create_vtbl() argument 361 process_lvol(struct ubi_device *ubi, struct ubi_attach_info *ai, struct ubi_ainf_volume *av) process_lvol() argument 484 create_empty_lvol(struct ubi_device *ubi, struct ubi_attach_info *ai) create_empty_lvol() argument 520 init_volumes(struct ubi_device *ubi, const struct ubi_attach_info *ai, const struct ubi_vtbl_record *vtbl) init_volumes() argument 718 check_attaching_info(const struct ubi_device *ubi, struct ubi_attach_info *ai) check_attaching_info() argument 783 ubi_read_volume_table(struct ubi_device *ubi, struct ubi_attach_info *ai) ubi_read_volume_table() argument 868 self_vtbl_check(const struct ubi_device *ubi) self_vtbl_check() argument [all...] |
H A D | eba.c | 34 #include "ubi.h" 65 * @ubi: UBI device description object 71 unsigned long long ubi_next_sqnum(struct ubi_device *ubi) in ubi_next_sqnum() argument 75 spin_lock(&ubi->ltree_lock); in ubi_next_sqnum() 76 sqnum = ubi->global_sqnum++; in ubi_next_sqnum() 77 spin_unlock(&ubi->ltree_lock); in ubi_next_sqnum() 84 * @ubi: UBI device description object 90 static int ubi_get_compat(const struct ubi_device *ubi, int vol_id) in ubi_get_compat() argument 202 * @ubi: UBI device description object 208 * @ubi 210 ltree_lookup(struct ubi_device *ubi, int vol_id, int lnum) ltree_lookup() argument 249 ltree_add_entry(struct ubi_device *ubi, int vol_id, int lnum) ltree_add_entry() argument 319 leb_read_lock(struct ubi_device *ubi, int vol_id, int lnum) leb_read_lock() argument 336 leb_read_unlock(struct ubi_device *ubi, int vol_id, int lnum) leb_read_unlock() argument 361 leb_write_lock(struct ubi_device *ubi, int vol_id, int lnum) leb_write_lock() argument 383 leb_write_trylock(struct ubi_device *ubi, int vol_id, int lnum) leb_write_trylock() argument 412 leb_write_unlock(struct ubi_device *ubi, int vol_id, int lnum) leb_write_unlock() argument 450 ubi_eba_unmap_leb(struct ubi_device *ubi, struct ubi_volume *vol, int lnum) ubi_eba_unmap_leb() argument 497 check_mapping(struct ubi_device *ubi, struct ubi_volume *vol, int lnum, int *pnum) check_mapping() argument 569 check_mapping(struct ubi_device *ubi, struct ubi_volume *vol, int lnum, int *pnum) check_mapping() argument 595 ubi_eba_read_leb(struct ubi_device *ubi, struct ubi_volume *vol, int lnum, void *buf, int offset, int len, int check) ubi_eba_read_leb() argument 747 ubi_eba_read_leb_sg(struct ubi_device *ubi, struct ubi_volume *vol, struct ubi_sgl *sgl, int lnum, int offset, int len, int check) ubi_eba_read_leb_sg() argument 810 struct ubi_device *ubi = vol->ubi; try_recover_peb() local 902 recover_peb(struct ubi_device *ubi, int pnum, int vol_id, int lnum, const void *buf, int offset, int len) recover_peb() argument 948 struct ubi_device *ubi = vol->ubi; try_write_vid_and_data() local 1016 ubi_eba_write_leb(struct ubi_device *ubi, struct ubi_volume *vol, int lnum, const void *buf, int offset, int len) ubi_eba_write_leb() argument 1119 ubi_eba_write_leb_st(struct ubi_device *ubi, struct ubi_volume *vol, int lnum, const void *buf, int len, int used_ebs) ubi_eba_write_leb_st() argument 1197 ubi_eba_atomic_leb_change(struct ubi_device *ubi, struct ubi_volume *vol, int lnum, const void *buf, int len) ubi_eba_atomic_leb_change() argument 1310 ubi_eba_copy_leb(struct ubi_device *ubi, int from, int to, struct ubi_vid_io_buf *vidb) ubi_eba_copy_leb() argument 1490 print_rsvd_warning(struct ubi_device *ubi, struct ubi_attach_info *ai) print_rsvd_warning() argument 1523 self_check_eba(struct ubi_device *ubi, struct ubi_attach_info *ai_fastmap, struct ubi_attach_info *ai_scan) self_check_eba() argument 1619 ubi_eba_init(struct ubi_device *ubi, struct ubi_attach_info *ai) ubi_eba_init() argument [all...] |
H A D | kapi.c | 16 #include "ubi.h" 20 * @ubi: UBI device description object 26 void ubi_do_get_device_info(struct ubi_device *ubi, struct ubi_device_info *di) in ubi_do_get_device_info() argument 28 di->ubi_num = ubi->ubi_num; in ubi_do_get_device_info() 29 di->leb_size = ubi->leb_size; in ubi_do_get_device_info() 30 di->leb_start = ubi->leb_start; in ubi_do_get_device_info() 31 di->min_io_size = ubi->min_io_size; in ubi_do_get_device_info() 32 di->max_write_size = ubi->max_write_size; in ubi_do_get_device_info() 33 di->ro_mode = ubi->ro_mode; in ubi_do_get_device_info() 34 di->cdev = ubi in ubi_do_get_device_info() 48 struct ubi_device *ubi; ubi_get_device_info() local 67 ubi_do_get_volume_info(struct ubi_device *ubi, struct ubi_volume *vol, struct ubi_volume_info *vi) ubi_do_get_volume_info() argument 119 struct ubi_device *ubi; ubi_open_volume() local 237 struct ubi_device *ubi; ubi_open_volume_nm() local 329 struct ubi_device *ubi = vol->ubi; ubi_close_volume() local 373 struct ubi_device *ubi = vol->ubi; leb_read_sanity_check() local 427 struct ubi_device *ubi = vol->ubi; ubi_leb_read() local 467 struct ubi_device *ubi = vol->ubi; ubi_leb_read_sg() local 518 struct ubi_device *ubi = vol->ubi; ubi_leb_write() local 563 struct ubi_device *ubi = vol->ubi; ubi_leb_change() local 603 struct ubi_device *ubi = vol->ubi; ubi_leb_erase() local 664 struct ubi_device *ubi = vol->ubi; ubi_leb_unmap() local 700 struct ubi_device *ubi = vol->ubi; ubi_leb_map() local 762 struct ubi_device *ubi; ubi_sync() local 788 struct ubi_device *ubi; ubi_flush() local [all...] |
H A D | ubi.h | 28 #include <linux/mtd/ubi.h> 31 #include "ubi-media.h" 37 #define UBI_NAME_STR "ubi" 43 void ubi_msg(const struct ubi_device *ubi, const char *fmt, ...); 47 void ubi_warn(const struct ubi_device *ubi, const char *fmt, ...); 51 void ubi_err(const struct ubi_device *ubi, const char *fmt, ...); 79 * The UBI debugfs directory name pattern and maximum name length (3 for "ubi" 82 #define UBI_DFS_DIR_NAME "ubi%d" 198 * &struct ubi_ltree_entry object is inserted to the lock tree (@ubi->ltree). 286 * @ubi 341 struct ubi_device *ubi; global() member 972 ubi_update_fastmap(struct ubi_device *ubi) ubi_update_fastmap() argument 1068 ubi_init_vid_buf(const struct ubi_device *ubi, struct ubi_vid_io_buf *vidb, void *buf) ubi_init_vid_buf() argument 1085 ubi_alloc_vid_buf(const struct ubi_device *ubi, gfp_t gfp_flags) ubi_alloc_vid_buf() argument 1132 ubi_io_read_data(const struct ubi_device *ubi, void *buf, int pnum, int offset, int len) ubi_io_read_data() argument 1144 ubi_io_write_data(struct ubi_device *ubi, const void *buf, int pnum, int offset, int len) ubi_io_write_data() argument 1155 ubi_ro_mode(struct ubi_device *ubi) ubi_ro_mode() argument 1169 vol_id2idx(const struct ubi_device *ubi, int vol_id) vol_id2idx() argument 1182 idx2vol_id(const struct ubi_device *ubi, int idx) idx2vol_id() argument 1213 ubi_find_fm_block(const struct ubi_device *ubi, int pnum) ubi_find_fm_block() argument [all...] |
H A D | misc.c | 10 #include "ubi.h" 14 * @ubi: UBI device description object 22 int ubi_calc_data_len(const struct ubi_device *ubi, const void *buf, in ubi_calc_data_len() argument 27 ubi_assert(!(length & (ubi->min_io_size - 1))); in ubi_calc_data_len() 34 length = ALIGN(i + 1, ubi->min_io_size); in ubi_calc_data_len() 40 * @ubi: UBI device description object 48 int ubi_check_volume(struct ubi_device *ubi, int vol_id) in ubi_check_volume() argument 52 struct ubi_volume *vol = ubi->volumes[vol_id]; in ubi_check_volume() 71 err = ubi_eba_read_leb(ubi, vol, i, buf, 0, size, 1); in ubi_check_volume() 85 * @ubi 92 ubi_update_reserved(struct ubi_device *ubi) ubi_update_reserved() argument 111 ubi_calculate_reserved(struct ubi_device *ubi) ubi_calculate_reserved() argument 145 ubi_msg(const struct ubi_device *ubi, const char *fmt, ...) ubi_msg() argument 161 ubi_warn(const struct ubi_device *ubi, const char *fmt, ...) ubi_warn() argument 178 ubi_err(const struct ubi_device *ubi, const char *fmt, ...) ubi_err() argument [all...] |
H A D | attach.c | 77 #include "ubi.h" 79 static int self_check_ai(struct ubi_device *ubi, struct ubi_attach_info *ai); 317 * @ubi: UBI device description object 330 static int validate_vid_hdr(const struct ubi_device *ubi, in validate_vid_hdr() argument 349 ubi_err(ubi, "inconsistent vol_id"); in validate_vid_hdr() 359 ubi_err(ubi, "inconsistent vol_type"); in validate_vid_hdr() 364 ubi_err(ubi, "inconsistent used_ebs"); in validate_vid_hdr() 369 ubi_err(ubi, "inconsistent data_pad"); in validate_vid_hdr() 377 ubi_err(ubi, "inconsistent VID header at PEB %d", pnum); in validate_vid_hdr() 420 * @ubi 438 ubi_compare_lebs(struct ubi_device *ubi, const struct ubi_ainf_peb *aeb, int pnum, const struct ubi_vid_hdr *vid_hdr) ubi_compare_lebs() argument 563 ubi_add_to_av(struct ubi_device *ubi, struct ubi_attach_info *ai, int pnum, int ec, const struct ubi_vid_hdr *vid_hdr, int bitflips) ubi_add_to_av() argument 771 early_erase_peb(struct ubi_device *ubi, const struct ubi_attach_info *ai, int pnum, int ec) early_erase_peb() argument 818 ubi_early_get_peb(struct ubi_device *ubi, struct ubi_attach_info *ai) ubi_early_get_peb() argument 872 check_corruption(struct ubi_device *ubi, struct ubi_vid_hdr *vid_hdr, int pnum) check_corruption() argument 941 scan_peb(struct ubi_device *ubi, struct ubi_attach_info *ai, int pnum, bool fast) scan_peb() argument 1207 late_analysis(struct ubi_device *ubi, struct ubi_attach_info *ai) late_analysis() argument 1374 scan_all(struct ubi_device *ubi, struct ubi_attach_info *ai, int start) scan_all() argument 1487 scan_fast(struct ubi_device *ubi, struct ubi_attach_info **ai) scan_fast() argument 1555 ubi_attach(struct ubi_device *ubi, int force_scan) ubi_attach() argument 1658 self_check_ai(struct ubi_device *ubi, struct ubi_attach_info *ai) self_check_ai() argument [all...] |
H A D | fastmap.c | 10 #include "ubi.h" 14 * @ubi: UBI device description object 16 static inline unsigned long *init_seen(struct ubi_device *ubi) in init_seen() argument 20 if (!ubi_dbg_chk_fastmap(ubi)) in init_seen() 23 ret = bitmap_zalloc(ubi->peb_count, GFP_KERNEL); in init_seen() 32 * @seen: integer array of @ubi->peb_count size 41 * @ubi: UBI device description object 43 * @seen: integer array of @ubi->peb_count size 45 static inline void set_seen(struct ubi_device *ubi, int pnum, unsigned long *seen) in set_seen() argument 47 if (!ubi_dbg_chk_fastmap(ubi) || !see in set_seen() 58 self_check_seen(struct ubi_device *ubi, unsigned long *seen) self_check_seen() argument 79 ubi_calc_fm_size(struct ubi_device *ubi) ubi_calc_fm_size() argument 104 new_fm_vbuf(struct ubi_device *ubi, int vol_id) new_fm_vbuf() argument 242 update_vol(struct ubi_device *ubi, struct ubi_attach_info *ai, struct ubi_ainf_volume *av, struct ubi_vid_hdr *new_vh, struct ubi_ainf_peb *new_aeb) update_vol() argument 336 process_pool_aeb(struct ubi_device *ubi, struct ubi_attach_info *ai, struct ubi_vid_hdr *new_vh, struct ubi_ainf_peb *new_aeb) process_pool_aeb() argument 400 scan_pool(struct ubi_device *ubi, struct ubi_attach_info *ai, __be32 *pebs, int pool_size, unsigned long long *max_sqnum, struct list_head *free) scan_pool() argument 548 ubi_attach_fastmap(struct ubi_device *ubi, struct ubi_attach_info *ai, struct ubi_fastmap_layout *fm) ubi_attach_fastmap() argument 860 ubi_scan_fastmap(struct ubi_device *ubi, struct ubi_attach_info *ai, struct ubi_attach_info *scan_ai) ubi_scan_fastmap() argument 1106 struct ubi_device *ubi = vol->ubi; ubi_fastmap_init_checkmap() local 1130 ubi_write_fastmap(struct ubi_device *ubi, struct ubi_fastmap_layout *new_fm) ubi_write_fastmap() argument 1400 erase_block(struct ubi_device *ubi, int pnum) erase_block() argument 1452 invalidate_fastmap(struct ubi_device *ubi) invalidate_fastmap() argument 1512 return_fm_pebs(struct ubi_device *ubi, struct ubi_fastmap_layout *fm) return_fm_pebs() argument 1536 ubi_update_fastmap(struct ubi_device *ubi) ubi_update_fastmap() argument [all...] |