diff options
author | Richard Weinberger <richard@nod.at> | 2016-05-27 09:44:33 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2016-05-27 12:30:27 +0200 |
commit | eb21c4f4a7fd921e913c8418d5a7f07136a7b041 (patch) | |
tree | 05e48678d1195be639eeb8a627c0b9cb4e6eb85c | |
parent | 88a5d0bf5aa940140406748a148850f6fffedd90 (diff) | |
download | barebox-eb21c4f4a7fd921e913c8418d5a7f07136a7b041.tar.gz barebox-eb21c4f4a7fd921e913c8418d5a7f07136a7b041.tar.xz |
UBI: Fastmap: Introduce ubi_fastmap_init()
...and kill another #ifdef in wl.c. :-)
Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Teresa Remmet <t.remmet@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | drivers/mtd/ubi/wl.c | 5 | ||||
-rw-r--r-- | drivers/mtd/ubi/wl.h | 6 |
2 files changed, 7 insertions, 4 deletions
diff --git a/drivers/mtd/ubi/wl.c b/drivers/mtd/ubi/wl.c index aeb7f689ed..f9a1680460 100644 --- a/drivers/mtd/ubi/wl.c +++ b/drivers/mtd/ubi/wl.c @@ -1440,10 +1440,7 @@ int ubi_wl_init(struct ubi_device *ubi, struct ubi_attach_info *ai) ubi_assert(ubi->good_peb_count == found_pebs); reserved_pebs = WL_RESERVED_PEBS; -#ifdef CONFIG_MTD_UBI_FASTMAP - /* Reserve enough LEBs to store two fastmaps. */ - reserved_pebs += (ubi->fm_size / ubi->leb_size) * 2; -#endif + ubi_fastmap_init(ubi, &reserved_pebs); if (ubi->avail_pebs < reserved_pebs) { ubi_err(ubi, "no enough physical eraseblocks (%d, need %d)", diff --git a/drivers/mtd/ubi/wl.h b/drivers/mtd/ubi/wl.h index 797d25bcbe..0a832b0290 100644 --- a/drivers/mtd/ubi/wl.h +++ b/drivers/mtd/ubi/wl.h @@ -6,6 +6,11 @@ static int anchor_pebs_avalible(struct rb_root *root); static struct ubi_wl_entry *find_anchor_wl_entry(struct rb_root *root); static struct ubi_wl_entry *get_peb_for_wl(struct ubi_device *ubi); static void ubi_fastmap_close(struct ubi_device *ubi); +static inline void ubi_fastmap_init(struct ubi_device *ubi, int *count) +{ + /* Reserve enough LEBs to store two fastmaps. */ + *count += (ubi->fm_size / ubi->leb_size) * 2; +} #else /* !CONFIG_MTD_UBI_FASTMAP */ static struct ubi_wl_entry *get_peb_for_wl(struct ubi_device *ubi); static inline int is_fm_block(struct ubi_device *ubi, int pnum) @@ -13,5 +18,6 @@ static inline int is_fm_block(struct ubi_device *ubi, int pnum) return 0; } static inline void ubi_fastmap_close(struct ubi_device *ubi) { } +static inline void ubi_fastmap_init(struct ubi_device *ubi, int *count) { } #endif /* CONFIG_MTD_UBI_FASTMAP */ #endif /* UBI_WL_H */ |