Lines Matching defs:ubi

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)
28 di->ubi_num = ubi->ubi_num;
29 di->leb_size = ubi->leb_size;
30 di->leb_start = ubi->leb_start;
31 di->min_io_size = ubi->min_io_size;
32 di->max_write_size = ubi->max_write_size;
33 di->ro_mode = ubi->ro_mode;
34 di->cdev = ubi->cdev.dev;
48 struct ubi_device *ubi;
52 ubi = ubi_get_device(ubi_num);
53 if (!ubi)
55 ubi_do_get_device_info(ubi, di);
56 ubi_put_device(ubi);
63 * @ubi: UBI device description object
67 void ubi_do_get_volume_info(struct ubi_device *ubi, struct ubi_volume *vol,
71 vi->ubi_num = ubi->ubi_num;
92 ubi_do_get_volume_info(desc->vol->ubi, desc->vol, vi);
118 struct ubi_device *ubi;
133 ubi = ubi_get_device(ubi_num);
134 if (!ubi)
137 if (vol_id < 0 || vol_id >= ubi->vtbl_slots) {
152 spin_lock(&ubi->volumes_lock);
153 vol = ubi->volumes[vol_id];
186 spin_unlock(&ubi->volumes_lock);
191 mutex_lock(&ubi->ckvol_mutex);
194 err = ubi_check_volume(ubi, vol_id);
196 mutex_unlock(&ubi->ckvol_mutex);
201 ubi_warn(ubi, "volume %d on UBI device %d is corrupted",
202 vol_id, ubi->ubi_num);
207 mutex_unlock(&ubi->ckvol_mutex);
212 spin_unlock(&ubi->volumes_lock);
217 ubi_err(ubi, "cannot open device %d, volume %d, error %d",
219 ubi_put_device(ubi);
236 struct ubi_device *ubi;
251 ubi = ubi_get_device(ubi_num);
252 if (!ubi)
255 spin_lock(&ubi->volumes_lock);
257 for (i = 0; i < ubi->vtbl_slots; i++) {
258 struct ubi_volume *vol = ubi->volumes[i];
265 spin_unlock(&ubi->volumes_lock);
276 ubi_put_device(ubi);
328 struct ubi_device *ubi = vol->ubi;
331 ubi->ubi_num, vol->vol_id, desc->mode);
333 spin_lock(&ubi->volumes_lock);
349 spin_unlock(&ubi->volumes_lock);
353 ubi_put_device(ubi);
372 struct ubi_device *ubi = vol->ubi;
375 if (vol_id < 0 || vol_id >= ubi->vtbl_slots || lnum < 0 ||
426 struct ubi_device *ubi = vol->ubi;
438 err = ubi_eba_read_leb(ubi, vol, lnum, buf, offset, len, check);
440 ubi_warn(ubi, "mark volume %d as corrupted", vol_id);
466 struct ubi_device *ubi = vol->ubi;
478 err = ubi_eba_read_leb_sg(ubi, vol, sgl, lnum, offset, len, check);
480 ubi_warn(ubi, "mark volume %d as corrupted", vol_id);
517 struct ubi_device *ubi = vol->ubi;
522 if (vol_id < 0 || vol_id >= ubi->vtbl_slots)
530 offset & (ubi->min_io_size - 1) || len & (ubi->min_io_size - 1))
539 return ubi_eba_write_leb(ubi, vol, lnum, buf, offset, len);
562 struct ubi_device *ubi = vol->ubi;
567 if (vol_id < 0 || vol_id >= ubi->vtbl_slots)
574 len > vol->usable_leb_size || len & (ubi->min_io_size - 1))
583 return ubi_eba_atomic_leb_change(ubi, vol, lnum, buf, len);
602 struct ubi_device *ubi = vol->ubi;
616 err = ubi_eba_unmap_leb(ubi, vol, lnum);
620 return ubi_wl_flush(ubi, vol->vol_id, lnum);
663 struct ubi_device *ubi = vol->ubi;
676 return ubi_eba_unmap_leb(ubi, vol, lnum);
699 struct ubi_device *ubi = vol->ubi;
715 return ubi_eba_write_leb(ubi, vol, lnum, NULL, 0, 0);
761 struct ubi_device *ubi;
763 ubi = ubi_get_device(ubi_num);
764 if (!ubi)
767 mtd_sync(ubi->mtd);
768 ubi_put_device(ubi);
787 struct ubi_device *ubi;
790 ubi = ubi_get_device(ubi_num);
791 if (!ubi)
794 err = ubi_wl_flush(ubi, vol_id, lnum);
795 ubi_put_device(ubi);