/netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/drivers/mtd/ |
H A D | Makefile | 31 obj-$(CONFIG_MTD_UBI) += ubi/
|
/netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/drivers/mtd/ubi/ |
H A D | Makefile | 1 obj-$(CONFIG_MTD_UBI) += ubi.o 3 ubi-y += vtbl.o vmt.o upd.o build.o cdev.o kapi.o eba.o io.o wl.o scan.o 4 ubi-y += misc.o 6 ubi-$(CONFIG_MTD_UBI_DEBUG) += debug.o 7 ubi-$(CONFIG_MTD_UBI_GLUEBI) += gluebi.o
|
H A D | build.c | 36 #include "ubi.h" 66 /* Root UBI "class" object (corresponds to '/<sysfs>/class/ubi/') */ 69 /* "Show" method for files in '/<sysfs>/class/ubi/' */ 75 /* UBI version attribute ('/<sysfs>/class/ubi/version') */ 82 /* UBI device attributes (correspond to files in '/<sysfs>/class/ubi/ubiX') */ 104 /* "Show" method for files in '/<sysfs>/class/ubi/ubiX/' */ 108 const struct ubi_device *ubi; local 110 ubi = container_of(dev, struct ubi_device, dev); 112 return sprintf(buf, "%d\n", ubi->leb_size); 114 return sprintf(buf, "%d\n", ubi 147 ubi_sysfs_init(struct ubi_device *ubi) argument 221 ubi_sysfs_close(struct ubi_device *ubi) argument 240 kill_volumes(struct ubi_device *ubi) argument 256 uif_init(struct ubi_device *ubi) argument 320 uif_close(struct ubi_device *ubi) argument 340 attach_by_scanning(struct ubi_device *ubi) argument 393 io_init(struct ubi_device *ubi) argument 531 struct ubi_device *ubi; local 645 detach_mtd_dev(struct ubi_device *ubi) argument [all...] |
H A D | cdev.c | 37 #include <mtd/ubi-user.h> 40 #include "ubi.h" 82 spin_lock(&vol->ubi->volumes_lock); 94 spin_unlock(&vol->ubi->volumes_lock); 108 spin_lock(&vol->ubi->volumes_lock); 118 spin_unlock(&vol->ubi->volumes_lock); 126 const struct ubi_device *ubi = major_to_device(imajor(inode)); local 137 desc = ubi_open_volume(ubi->ubi_num, vol_id, mode); 206 struct ubi_device *ubi = vol->ubi; local 290 struct ubi_device *ubi = vol->ubi; local 372 struct ubi_device *ubi = vol->ubi; local 413 struct ubi_device *ubi = vol->ubi; local 520 verify_mkvol_req(const struct ubi_device *ubi, const struct ubi_mkvol_req *req) argument 570 verify_rsvol_req(const struct ubi_device *ubi, const struct ubi_rsvol_req *req) argument 586 struct ubi_device *ubi; local [all...] |
H A D | eba.c | 47 #include "ubi.h" 59 * object is inserted to the lock tree (@ubi->ltree). 74 * @ubi: UBI device description object 80 static unsigned long long next_sqnum(struct ubi_device *ubi) argument 84 spin_lock(&ubi->ltree_lock); 85 sqnum = ubi->global_sqnum++; 86 spin_unlock(&ubi->ltree_lock); 93 * @ubi: UBI device description object 99 static int ubi_get_compat(const struct ubi_device *ubi, int vol_id) argument 108 * @ubi 116 ltree_lookup(struct ubi_device *ubi, int vol_id, int lnum) argument 155 ltree_add_entry(struct ubi_device *ubi, int vol_id, int lnum) argument 225 leb_read_lock(struct ubi_device *ubi, int vol_id, int lnum) argument 242 leb_read_unlock(struct ubi_device *ubi, int vol_id, int lnum) argument 271 leb_write_lock(struct ubi_device *ubi, int vol_id, int lnum) argument 288 leb_write_unlock(struct ubi_device *ubi, int vol_id, int lnum) argument 319 ubi_eba_unmap_leb(struct ubi_device *ubi, int vol_id, int lnum) argument 365 ubi_eba_read_leb(struct ubi_device *ubi, int vol_id, int lnum, void *buf, int offset, int len, int check) argument 484 recover_peb(struct ubi_device *ubi, int pnum, int vol_id, int lnum, const void *buf, int offset, int len) argument 587 ubi_eba_write_leb(struct ubi_device *ubi, int vol_id, int lnum, const void *buf, int offset, int len, int dtype) argument 715 ubi_eba_write_leb_st(struct ubi_device *ubi, int vol_id, int lnum, const void *buf, int len, int dtype, int used_ebs) argument 828 ubi_eba_atomic_leb_change(struct ubi_device *ubi, int vol_id, int lnum, const void *buf, int len, int dtype) argument 952 ubi_eba_copy_leb(struct ubi_device *ubi, int from, int to, struct ubi_vid_hdr *vid_hdr) argument 1126 ubi_eba_init_scan(struct ubi_device *ubi, struct ubi_scan_info *si) argument 1216 ubi_eba_close(const struct ubi_device *ubi) argument [all...] |
H A D | gluebi.c | 32 #include "ubi.h" 69 vol->gluebi_desc = ubi_open_volume(vol->ubi->ubi_num, vol->vol_id, 111 struct ubi_device *ubi; local 120 ubi = vol->ubi; 132 err = ubi_eba_read_leb(ubi, vol->vol_id, lnum, buf, offs, 163 struct ubi_device *ubi; local 172 ubi = vol->ubi; 174 if (ubi 217 struct ubi_device *ubi; local 272 ubi_create_gluebi(struct ubi_device *ubi, struct ubi_volume *vol) argument [all...] |
H A D | io.c | 48 * @ubi->mtd->writesize field. But as an exception, UBI admits of using another 55 * I/O unit for the headers (the @ubi->hdrs_min_io_size field). But it still 56 * reports NAND page size (@ubi->min_io_size) as a minimal I/O unit for the UBI 64 * device, e.g., make @ubi->min_io_size = 512 in the example above? 83 * It always allocates a @ubi->vid_hdr_alsize bytes buffer for the VID header 84 * and returns a pointer to offset @ubi->vid_hdr_shift of this buffer. When the 91 #include "ubi.h" 94 static int paranoid_check_not_bad(const struct ubi_device *ubi, int pnum); 95 static int paranoid_check_peb_ec_hdr(const struct ubi_device *ubi, int pnum); 96 static int paranoid_check_ec_hdr(const struct ubi_device *ubi, in 134 ubi_io_read(const struct ubi_device *ubi, void *buf, int pnum, int offset, int len) argument 205 ubi_io_write(const struct ubi_device *ubi, const void *buf, int pnum, int offset, int len) argument 288 do_sync_erase(const struct ubi_device *ubi, int pnum) argument 380 torture_peb(const struct ubi_device *ubi, int pnum) argument 460 ubi_io_sync_erase(const struct ubi_device *ubi, int pnum, int torture) argument 496 ubi_io_is_bad(const struct ubi_device *ubi, int pnum) argument 525 ubi_io_mark_bad(const struct ubi_device *ubi, int pnum) argument 554 validate_ec_hdr(const struct ubi_device *ubi, const struct ubi_ec_hdr *ec_hdr) argument 617 ubi_io_read_ec_hdr(const struct ubi_device *ubi, int pnum, struct ubi_ec_hdr *ec_hdr, int verbose) argument 723 ubi_io_write_ec_hdr(const struct ubi_device *ubi, int pnum, struct ubi_ec_hdr *ec_hdr) argument 755 validate_vid_hdr(const struct ubi_device *ubi, const struct ubi_vid_hdr *vid_hdr) argument 889 ubi_io_read_vid_hdr(const struct ubi_device *ubi, int pnum, struct ubi_vid_hdr *vid_hdr, int verbose) argument 996 ubi_io_write_vid_hdr(const struct ubi_device *ubi, int pnum, struct ubi_vid_hdr *vid_hdr) argument 1035 paranoid_check_not_bad(const struct ubi_device *ubi, int pnum) argument 1057 paranoid_check_ec_hdr(const struct ubi_device *ubi, int pnum, const struct ubi_ec_hdr *ec_hdr) argument 1093 paranoid_check_peb_ec_hdr(const struct ubi_device *ubi, int pnum) argument 1134 paranoid_check_vid_hdr(const struct ubi_device *ubi, int pnum, const struct ubi_vid_hdr *vid_hdr) argument 1172 paranoid_check_peb_vid_hdr(const struct ubi_device *ubi, int pnum) argument 1219 paranoid_check_all_ff(const struct ubi_device *ubi, int pnum, int offset, int len) argument [all...] |
H A D | kapi.c | 26 #include "ubi.h" 38 const struct ubi_device *ubi; local 49 ubi = ubi_devices[ubi_num]; 50 di->ubi_num = ubi->ubi_num; 51 di->leb_size = ubi->leb_size; 52 di->min_io_size = ubi->min_io_size; 53 di->ro_mode = ubi->ro_mode; 54 di->cdev = MKDEV(ubi->major, 0); 69 const struct ubi_device *ubi = vol->ubi; local 108 struct ubi_device *ubi = ubi_devices[ubi_num]; local 210 struct ubi_device *ubi; local 312 struct ubi_device *ubi = vol->ubi; local 372 struct ubi_device *ubi = vol->ubi; local 422 struct ubi_device *ubi = vol->ubi; local 466 struct ubi_device *ubi = vol->ubi; local 527 struct ubi_device *ubi = vol->ubi; local [all...] |
H A D | misc.c | 23 #include "ubi.h" 27 * @ubi: UBI device description object 35 int ubi_calc_data_len(const struct ubi_device *ubi, const void *buf, argument 40 ubi_assert(length % ubi->min_io_size == 0); 47 length = ALIGN(i + 1, ubi->min_io_size); 53 * @ubi: UBI device description object 61 int ubi_check_volume(struct ubi_device *ubi, int vol_id) argument 65 struct ubi_volume *vol = ubi->volumes[vol_id]; 82 err = ubi_eba_read_leb(ubi, vol_id, i, buf, 0, size, 1); 97 * @ubi 99 ubi_calculate_reserved(struct ubi_device *ubi) argument [all...] |
H A D | scan.c | 45 #include "ubi.h" 48 static int paranoid_check_si(const struct ubi_device *ubi, 51 #define paranoid_check_si(ubi, si) 0 234 * @ubi: UBI device description object 252 static int compare_lebs(const struct ubi_device *ubi, argument 292 vidh = ubi_zalloc_vid_hdr(ubi); 296 err = ubi_io_read_vid_hdr(ubi, pnum, vidh, 0); 330 err = ubi_io_read_data(ubi, buf, pnum, 0, len); 348 ubi_free_vid_hdr(ubi, vidh); 360 ubi_free_vid_hdr(ubi, vid 378 ubi_scan_add_used(const struct ubi_device *ubi, struct ubi_scan_info *si, int pnum, int ec, const struct ubi_vid_hdr *vid_hdr, int bitflips) argument 628 ubi_scan_erase_peb(const struct ubi_device *ubi, const struct ubi_scan_info *si, int pnum, int ec) argument 673 ubi_scan_get_free_peb(const struct ubi_device *ubi, struct ubi_scan_info *si) argument 730 process_eb(struct ubi_device *ubi, struct ubi_scan_info *si, int pnum) argument 882 ubi_scan(struct ubi_device *ubi) argument 1068 paranoid_check_si(const struct ubi_device *ubi, struct ubi_scan_info *si) argument [all...] |
H A D | scan.h | 152 int ubi_scan_add_used(const struct ubi_device *ubi, struct ubi_scan_info *si, 160 struct ubi_scan_leb *ubi_scan_get_free_peb(const struct ubi_device *ubi, 162 int ubi_scan_erase_peb(const struct ubi_device *ubi, 164 struct ubi_scan_info *ubi_scan(struct ubi_device *ubi);
|
H A D | ubi.h | 40 #include <mtd/ubi-header.h> 41 #include <linux/mtd/ubi.h> 50 #define UBI_NAME_STR "ubi" 105 * @ubi: reference to the UBI device description object 150 struct ubi_device *ubi; member in struct:ubi_volume 352 int ubi_change_vtbl_record(struct ubi_device *ubi, int idx, 354 int ubi_read_volume_table(struct ubi_device *ubi, struct ubi_scan_info *si); 357 int ubi_create_volume(struct ubi_device *ubi, struct ubi_mkvol_req *req); 360 int ubi_add_volume(struct ubi_device *ubi, int vol_id); 361 void ubi_free_volume(struct ubi_device *ubi, in 444 ubi_zalloc_vid_hdr(const struct ubi_device *ubi) argument 464 ubi_free_vid_hdr(const struct ubi_device *ubi, struct ubi_vid_hdr *vid_hdr) argument 480 ubi_io_read_data(const struct ubi_device *ubi, void *buf, int pnum, int offset, int len) argument 492 ubi_io_write_data(const struct ubi_device *ubi, const void *buf, int pnum, int offset, int len) argument 503 ubi_ro_mode(struct ubi_device *ubi) argument 514 vol_id2idx(const struct ubi_device *ubi, int vol_id) argument 527 idx2vol_id(const struct ubi_device *ubi, int idx) argument [all...] |
H A D | upd.c | 43 #include "ubi.h" 47 * @ubi: UBI device description object 53 static int set_update_marker(struct ubi_device *ubi, int vol_id) argument 57 struct ubi_volume *vol = ubi->volumes[vol_id]; 62 ubi_assert(ubi->vtbl[vol_id].upd_marker); 67 memcpy(&vtbl_rec, &ubi->vtbl[vol_id], sizeof(struct ubi_vtbl_record)); 70 err = ubi_change_vtbl_record(ubi, vol_id, &vtbl_rec); 77 * @ubi: UBI device description object 85 static int clear_update_marker(struct ubi_device *ubi, int vol_id, long long bytes) argument 90 struct ubi_volume *vol = ubi 124 ubi_start_update(struct ubi_device *ubi, int vol_id, long long bytes) argument 194 write_leb(struct ubi_device *ubi, int vol_id, int lnum, void *buf, int len, int used_ebs) argument 244 ubi_more_update_data(struct ubi_device *ubi, int vol_id, const void __user *buf, int count) argument [all...] |
H A D | vmt.c | 28 #include "ubi.h" 31 static void paranoid_check_volumes(struct ubi_device *ubi); 33 #define paranoid_check_volumes(ubi) 39 /* Device attributes corresponding to files in '/<sysfs>/class/ubi/ubiX_Y' */ 58 * "Show" method for files in '/<sysfs>/class/ubi/ubiX_Y/'. 62 * /<sysfs>/class/ubi/ubiX_Y/reserved_ebs; 64 * C. process 1 starts reading the /<sysfs>/class/ubi/ubiX_Y/reserved_ebs file; 76 spin_lock(&vol->ubi->volumes_lock); 78 spin_unlock(&vol->ubi->volumes_lock); 101 spin_unlock(&vol->ubi 125 volume_sysfs_init(struct ubi_device *ubi, struct ubi_volume *vol) argument 183 ubi_create_volume(struct ubi_device *ubi, struct ubi_mkvol_req *req) argument 387 struct ubi_device *ubi = vol->ubi; local 454 struct ubi_device *ubi = vol->ubi; local 567 ubi_add_volume(struct ubi_device *ubi, int vol_id) argument 624 ubi_free_volume(struct ubi_device *ubi, int vol_id) argument 646 paranoid_check_volume(const struct ubi_device *ubi, int vol_id) argument 798 paranoid_check_volumes(struct ubi_device *ubi) argument [all...] |
H A D | vtbl.c | 62 #include "ubi.h" 65 static void paranoid_vtbl_check(const struct ubi_device *ubi); 67 #define paranoid_vtbl_check(ubi) 75 * @ubi: UBI device description object 84 int ubi_change_vtbl_record(struct ubi_device *ubi, int idx, argument 90 ubi_assert(idx >= 0 && idx < ubi->vtbl_slots); 102 mutex_lock(&ubi->vtbl_mutex); 103 memcpy(&ubi->vtbl[idx], vtbl_rec, sizeof(struct ubi_vtbl_record)); 105 err = ubi_eba_unmap_leb(ubi, UBI_LAYOUT_VOL_ID, i); 107 mutex_unlock(&ubi 133 vtbl_check(const struct ubi_device *ubi, const struct ubi_vtbl_record *vtbl) argument 260 create_vtbl(const struct ubi_device *ubi, struct ubi_scan_info *si, int copy, void *vtbl) argument 344 process_lvol(const struct ubi_device *ubi, struct ubi_scan_info *si, struct ubi_scan_volume *sv) argument 457 create_empty_lvol(const struct ubi_device *ubi, struct ubi_scan_info *si) argument 493 init_volumes(struct ubi_device *ubi, const struct ubi_scan_info *si, const struct ubi_vtbl_record *vtbl) argument 641 check_scanning_info(const struct ubi_device *ubi, struct ubi_scan_info *si) argument 708 ubi_read_volume_table(struct ubi_device *ubi, struct ubi_scan_info *si) argument 793 paranoid_vtbl_check(const struct ubi_device *ubi) argument [all...] |
H A D | wl.c | 26 #include "ubi.h" 150 int (*func)(struct ubi_device *ubi, struct ubi_work *wrk, int cancel); 157 static int paranoid_check_ec(const struct ubi_device *ubi, int pnum, int ec); 161 #define paranoid_check_ec(ubi, pnum, ec) 0 185 * the @ubi->used and @ubi->free RB-trees. 221 static void free_tree_add(struct ubi_device *ubi, struct ubi_wl_entry *e) argument 223 wl_tree_add(e, &ubi->free); 225 static inline void used_tree_add(struct ubi_device *ubi, argument 228 wl_tree_add(e, &ubi 230 scrub_tree_add(struct ubi_device *ubi, struct ubi_wl_entry *e) argument 235 free_tree_del(struct ubi_device *ubi, struct ubi_wl_entry *e) argument 241 used_tree_del(struct ubi_device *ubi, struct ubi_wl_entry *e) argument 247 scrub_tree_del(struct ubi_device *ubi, struct ubi_wl_entry *e) argument 261 do_work(struct ubi_device *ubi) argument 302 produce_free_peb(struct ubi_device *ubi) argument 371 prot_tree_add(struct ubi_device *ubi, struct ubi_wl_entry *e, struct ubi_wl_prot_entry *pe, int abs_ec) argument 448 ubi_wl_get_peb(struct ubi_device *ubi, int dtype) argument 548 prot_tree_del(struct ubi_device *ubi, int pnum) argument 582 sync_erase(struct ubi_device *ubi, struct ubi_wl_entry *e, int torture) argument 643 check_protection_over(struct ubi_device *ubi) argument 686 schedule_ubi_work(struct ubi_device *ubi, struct ubi_work *wrk) argument 709 schedule_erase(struct ubi_device *ubi, struct ubi_wl_entry *e, int torture) argument 739 wear_leveling_worker(struct ubi_device *ubi, struct ubi_work *wrk, int cancel) argument 938 ensure_wear_leveling(struct ubi_device *ubi) argument 1006 erase_worker(struct ubi_device *ubi, struct ubi_work *wl_wrk, int cancel) argument 1117 ubi_wl_put_peb(struct ubi_device *ubi, int pnum, int torture) argument 1182 ubi_wl_scrub_peb(struct ubi_device *ubi, int pnum) argument 1231 ubi_wl_flush(struct ubi_device *ubi) argument 1290 struct ubi_device *ubi = u; local 1343 cancel_pending(struct ubi_device *ubi) argument 1365 ubi_wl_init_scan(struct ubi_device *ubi, struct ubi_scan_info *si) argument 1502 protection_trees_destroy(struct ubi_device *ubi) argument 1534 ubi_wl_close(struct ubi_device *ubi) argument 1565 paranoid_check_ec(const struct ubi_device *ubi, int pnum, int ec) argument [all...] |
/netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/include/linux/mtd/ |
H A D | ubi.h | 26 #include <mtd/ubi-user.h> 134 * @ubi_num: ubi device number
|