aboutsummaryrefslogtreecommitdiff
path: root/drivers/mtd/ubi/fastmap-wl.c
diff options
context:
space:
mode:
authorRichard Weinberger <richard@nod.at>2014-10-29 10:31:41 +0100
committerRichard Weinberger <richard@nod.at>2015-03-26 22:47:36 +0100
commit2f84c2469e2f2e94a45d86597baec10bfbf06847 (patch)
treeb0ad83d93c8cea978244fa7c579f5bf3a2e25fa6 /drivers/mtd/ubi/fastmap-wl.c
parentacfda79f8808518b0235eb9a13c8b5f762e43a75 (diff)
UBI: Fastmap: Introduce may_reserve_for_fm()
...and kill another #ifdef. Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'drivers/mtd/ubi/fastmap-wl.c')
-rw-r--r--drivers/mtd/ubi/fastmap-wl.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/mtd/ubi/fastmap-wl.c b/drivers/mtd/ubi/fastmap-wl.c
index 88a400c52418..c4717531b24c 100644
--- a/drivers/mtd/ubi/fastmap-wl.c
+++ b/drivers/mtd/ubi/fastmap-wl.c
@@ -359,3 +359,22 @@ static void ubi_fastmap_close(struct ubi_device *ubi)
}
kfree(ubi->fm);
}
+
+/**
+ * may_reserve_for_fm - tests whether a PEB shall be reserved for fastmap.
+ * See find_mean_wl_entry()
+ *
+ * @ubi: UBI device description object
+ * @e: physical eraseblock to return
+ * @root: RB tree to test against.
+ */
+static struct ubi_wl_entry *may_reserve_for_fm(struct ubi_device *ubi,
+ struct ubi_wl_entry *e,
+ struct rb_root *root) {
+ if (e && !ubi->fm_disabled && !ubi->fm &&
+ e->pnum < UBI_FM_MAX_START)
+ e = rb_entry(rb_next(root->rb_node),
+ struct ubi_wl_entry, u.rb);
+
+ return e;
+}