diff options
| author | Richard Weinberger <richard@nod.at> | 2014-11-07 07:35:41 -0500 |
|---|---|---|
| committer | Richard Weinberger <richard@nod.at> | 2015-03-26 17:47:38 -0400 |
| commit | 56794c0a1ae738cb4184ab27501e4d152b0b2771 (patch) | |
| tree | d702c6fd6e672a4d6e48f0e20269af1312e7f4c0 /drivers/mtd/ubi | |
| parent | 1841fcfd910b4e841de40e1f6bc3dad6109a4054 (diff) | |
UBI: Fastmap: Remove is_fm_block()
This function was added to fastmap in a very early stage
to have paranoid assertions.
With the current fastmap implementation this assert will never
trigger as fastmap PEBs are not seen by the WL sub-system.
Remove it to save us some CPU cycles.
Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'drivers/mtd/ubi')
| -rw-r--r-- | drivers/mtd/ubi/fastmap-wl.c | 19 | ||||
| -rw-r--r-- | drivers/mtd/ubi/wl.c | 5 | ||||
| -rw-r--r-- | drivers/mtd/ubi/wl.h | 5 |
3 files changed, 0 insertions, 29 deletions
diff --git a/drivers/mtd/ubi/fastmap-wl.c b/drivers/mtd/ubi/fastmap-wl.c index 067aa9042ec1..b2a665398bca 100644 --- a/drivers/mtd/ubi/fastmap-wl.c +++ b/drivers/mtd/ubi/fastmap-wl.c | |||
| @@ -29,25 +29,6 @@ static void update_fastmap_work_fn(struct work_struct *wrk) | |||
| 29 | } | 29 | } |
| 30 | 30 | ||
| 31 | /** | 31 | /** |
| 32 | * is_fm_block - returns 1 if a PEB is currently used in a fastmap. | ||
| 33 | * @ubi: UBI device description object | ||
| 34 | * @pnum: the to be checked PEB | ||
| 35 | */ | ||
| 36 | static int is_fm_block(struct ubi_device *ubi, int pnum) | ||
| 37 | { | ||
| 38 | int i; | ||
| 39 | |||
| 40 | if (!ubi->fm) | ||
| 41 | return 0; | ||
| 42 | |||
| 43 | for (i = 0; i < ubi->fm->used_blocks; i++) | ||
| 44 | if (ubi->fm->e[i]->pnum == pnum) | ||
| 45 | return 1; | ||
| 46 | |||
| 47 | return 0; | ||
| 48 | } | ||
| 49 | |||
| 50 | /** | ||
| 51 | * find_anchor_wl_entry - find wear-leveling entry to used as anchor PEB. | 32 | * find_anchor_wl_entry - find wear-leveling entry to used as anchor PEB. |
| 52 | * @root: the RB-tree where to look for | 33 | * @root: the RB-tree where to look for |
| 53 | */ | 34 | */ |
diff --git a/drivers/mtd/ubi/wl.c b/drivers/mtd/ubi/wl.c index 94ffdeb370c1..16214d3d57a4 100644 --- a/drivers/mtd/ubi/wl.c +++ b/drivers/mtd/ubi/wl.c | |||
| @@ -585,7 +585,6 @@ static int schedule_erase(struct ubi_device *ubi, struct ubi_wl_entry *e, | |||
| 585 | struct ubi_work *wl_wrk; | 585 | struct ubi_work *wl_wrk; |
| 586 | 586 | ||
| 587 | ubi_assert(e); | 587 | ubi_assert(e); |
| 588 | ubi_assert(!is_fm_block(ubi, e->pnum)); | ||
| 589 | 588 | ||
| 590 | dbg_wl("schedule erasure of PEB %d, EC %d, torture %d", | 589 | dbg_wl("schedule erasure of PEB %d, EC %d, torture %d", |
| 591 | e->pnum, e->ec, torture); | 590 | e->pnum, e->ec, torture); |
| @@ -1045,8 +1044,6 @@ static int erase_worker(struct ubi_device *ubi, struct ubi_work *wl_wrk, | |||
| 1045 | dbg_wl("erase PEB %d EC %d LEB %d:%d", | 1044 | dbg_wl("erase PEB %d EC %d LEB %d:%d", |
| 1046 | pnum, e->ec, wl_wrk->vol_id, wl_wrk->lnum); | 1045 | pnum, e->ec, wl_wrk->vol_id, wl_wrk->lnum); |
| 1047 | 1046 | ||
| 1048 | ubi_assert(!is_fm_block(ubi, e->pnum)); | ||
| 1049 | |||
| 1050 | err = sync_erase(ubi, e, wl_wrk->torture); | 1047 | err = sync_erase(ubi, e, wl_wrk->torture); |
| 1051 | if (!err) { | 1048 | if (!err) { |
| 1052 | /* Fine, we've erased it successfully */ | 1049 | /* Fine, we've erased it successfully */ |
| @@ -1526,7 +1523,6 @@ int ubi_wl_init(struct ubi_device *ubi, struct ubi_attach_info *ai) | |||
| 1526 | 1523 | ||
| 1527 | e->pnum = aeb->pnum; | 1524 | e->pnum = aeb->pnum; |
| 1528 | e->ec = aeb->ec; | 1525 | e->ec = aeb->ec; |
| 1529 | ubi_assert(!is_fm_block(ubi, e->pnum)); | ||
| 1530 | ubi->lookuptbl[e->pnum] = e; | 1526 | ubi->lookuptbl[e->pnum] = e; |
| 1531 | if (schedule_erase(ubi, e, aeb->vol_id, aeb->lnum, 0)) { | 1527 | if (schedule_erase(ubi, e, aeb->vol_id, aeb->lnum, 0)) { |
| 1532 | wl_entry_destroy(ubi, e); | 1528 | wl_entry_destroy(ubi, e); |
| @@ -1547,7 +1543,6 @@ int ubi_wl_init(struct ubi_device *ubi, struct ubi_attach_info *ai) | |||
| 1547 | e->pnum = aeb->pnum; | 1543 | e->pnum = aeb->pnum; |
| 1548 | e->ec = aeb->ec; | 1544 | e->ec = aeb->ec; |
| 1549 | ubi_assert(e->ec >= 0); | 1545 | ubi_assert(e->ec >= 0); |
| 1550 | ubi_assert(!is_fm_block(ubi, e->pnum)); | ||
| 1551 | 1546 | ||
| 1552 | wl_tree_add(e, &ubi->free); | 1547 | wl_tree_add(e, &ubi->free); |
| 1553 | ubi->free_count++; | 1548 | ubi->free_count++; |
diff --git a/drivers/mtd/ubi/wl.h b/drivers/mtd/ubi/wl.h index fbc2d8e312df..bd1f07e5ce9a 100644 --- a/drivers/mtd/ubi/wl.h +++ b/drivers/mtd/ubi/wl.h | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | #ifndef UBI_WL_H | 1 | #ifndef UBI_WL_H |
| 2 | #define UBI_WL_H | 2 | #define UBI_WL_H |
| 3 | #ifdef CONFIG_MTD_UBI_FASTMAP | 3 | #ifdef CONFIG_MTD_UBI_FASTMAP |
| 4 | static int is_fm_block(struct ubi_device *ubi, int pnum); | ||
| 5 | static int anchor_pebs_avalible(struct rb_root *root); | 4 | static int anchor_pebs_avalible(struct rb_root *root); |
| 6 | static void update_fastmap_work_fn(struct work_struct *wrk); | 5 | static void update_fastmap_work_fn(struct work_struct *wrk); |
| 7 | static struct ubi_wl_entry *find_anchor_wl_entry(struct rb_root *root); | 6 | static struct ubi_wl_entry *find_anchor_wl_entry(struct rb_root *root); |
| @@ -18,10 +17,6 @@ static struct ubi_wl_entry *may_reserve_for_fm(struct ubi_device *ubi, | |||
| 18 | struct rb_root *root); | 17 | struct rb_root *root); |
| 19 | #else /* !CONFIG_MTD_UBI_FASTMAP */ | 18 | #else /* !CONFIG_MTD_UBI_FASTMAP */ |
| 20 | static struct ubi_wl_entry *get_peb_for_wl(struct ubi_device *ubi); | 19 | static struct ubi_wl_entry *get_peb_for_wl(struct ubi_device *ubi); |
| 21 | static inline int is_fm_block(struct ubi_device *ubi, int pnum) | ||
| 22 | { | ||
| 23 | return 0; | ||
| 24 | } | ||
| 25 | static inline void ubi_fastmap_close(struct ubi_device *ubi) { } | 20 | static inline void ubi_fastmap_close(struct ubi_device *ubi) { } |
| 26 | static inline void ubi_fastmap_init(struct ubi_device *ubi, int *count) { } | 21 | static inline void ubi_fastmap_init(struct ubi_device *ubi, int *count) { } |
| 27 | static struct ubi_wl_entry *may_reserve_for_fm(struct ubi_device *ubi, | 22 | static struct ubi_wl_entry *may_reserve_for_fm(struct ubi_device *ubi, |
