Lines Matching refs:ubi
22 void ubi_dump_flash(struct ubi_device *ubi, int pnum, int offset, int len) in ubi_dump_flash() argument
27 loff_t addr = (loff_t)pnum * ubi->peb_size + offset; in ubi_dump_flash()
32 err = mtd_read(ubi->mtd, addr, len, &read, buf); in ubi_dump_flash()
34 ubi_err(ubi, "err %d while reading %d bytes from PEB %d:%d, read %zd bytes", in ubi_dump_flash()
39 ubi_msg(ubi, "dumping %d bytes of data from PEB %d, offset %d", in ubi_dump_flash()
252 struct ubi_device *ubi; in dfs_file_read() local
257 ubi = ubi_get_device(ubi_num); in dfs_file_read()
258 if (!ubi) in dfs_file_read()
260 d = &ubi->dbg; in dfs_file_read()
305 ubi_put_device(ubi); in dfs_file_read()
315 struct ubi_device *ubi; in dfs_file_write() local
321 ubi = ubi_get_device(ubi_num); in dfs_file_write()
322 if (!ubi) in dfs_file_write()
324 d = &ubi->dbg; in dfs_file_write()
373 ubi_put_device(ubi); in dfs_file_write()
393 struct ubi_device *ubi = s->private; in eraseblk_count_seq_start() local
398 if (*pos < ubi->peb_count) in eraseblk_count_seq_start()
409 struct ubi_device *ubi = s->private; in eraseblk_count_seq_next() local
415 if (*pos < ubi->peb_count) in eraseblk_count_seq_next()
427 struct ubi_device *ubi = s->private; in eraseblk_count_seq_show() local
440 err = ubi_io_is_bad(ubi, *block_number); in eraseblk_count_seq_show()
444 spin_lock(&ubi->wl_lock); in eraseblk_count_seq_show()
446 wl = ubi->lookuptbl[*block_number]; in eraseblk_count_seq_show()
450 spin_unlock(&ubi->wl_lock); in eraseblk_count_seq_show()
488 struct ubi_device *ubi = s->private; in eraseblk_count_release() local
490 ubi_put_device(ubi); in eraseblk_count_release()
510 int ubi_debugfs_init_dev(struct ubi_device *ubi) in ubi_debugfs_init_dev() argument
513 unsigned long ubi_num = ubi->ubi_num; in ubi_debugfs_init_dev()
516 struct ubi_debug_info *d = &ubi->dbg; in ubi_debugfs_init_dev()
522 ubi->ubi_num); in ubi_debugfs_init_dev()
611 ubi_err(ubi, "cannot create \"%s\" debugfs file or directory, error %d\n", in ubi_debugfs_init_dev()
620 void ubi_debugfs_exit_dev(struct ubi_device *ubi) in ubi_debugfs_exit_dev() argument
623 debugfs_remove_recursive(ubi->dbg.dfs_dir); in ubi_debugfs_exit_dev()
633 int ubi_dbg_power_cut(struct ubi_device *ubi, int caller) in ubi_dbg_power_cut() argument
637 if ((ubi->dbg.emulate_power_cut & caller) == 0) in ubi_dbg_power_cut()
640 if (ubi->dbg.power_cut_counter == 0) { in ubi_dbg_power_cut()
641 ubi->dbg.power_cut_counter = ubi->dbg.power_cut_min; in ubi_dbg_power_cut()
643 if (ubi->dbg.power_cut_max > ubi->dbg.power_cut_min) { in ubi_dbg_power_cut()
644 range = ubi->dbg.power_cut_max - ubi->dbg.power_cut_min; in ubi_dbg_power_cut()
645 ubi->dbg.power_cut_counter += prandom_u32() % range; in ubi_dbg_power_cut()
650 ubi->dbg.power_cut_counter--; in ubi_dbg_power_cut()
651 if (ubi->dbg.power_cut_counter) in ubi_dbg_power_cut()
654 ubi_msg(ubi, "XXXXXXXXXXXXXXX emulating a power cut XXXXXXXXXXXXXXXX"); in ubi_dbg_power_cut()
655 ubi_ro_mode(ubi); in ubi_dbg_power_cut()