mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-15 08:44:14 +08:00
UBI: change the interface of a debugging check function
This is a minor preparational patch which changes the 'paranoid_check_in_wl_tree()' function interface by adding the 'ubi' parameter which will be needed there in the next patch. And while on it, add "const" qualifier to the 'ubi' parameter of the 'paranoid_check_in_pq()' function. Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
This commit is contained in:
parent
55922c9d1b
commit
d99383b00e
@ -1,4 +1,5 @@
|
||||
/*
|
||||
* @ubi: UBI device description object
|
||||
* Copyright (c) International Business Machines Corp., 2006
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@ -163,12 +164,14 @@ struct ubi_work {
|
||||
|
||||
#ifdef CONFIG_MTD_UBI_DEBUG
|
||||
static int paranoid_check_ec(struct ubi_device *ubi, int pnum, int ec);
|
||||
static int paranoid_check_in_wl_tree(struct ubi_wl_entry *e,
|
||||
static int paranoid_check_in_wl_tree(const struct ubi_device *ubi,
|
||||
struct ubi_wl_entry *e,
|
||||
struct rb_root *root);
|
||||
static int paranoid_check_in_pq(struct ubi_device *ubi, struct ubi_wl_entry *e);
|
||||
static int paranoid_check_in_pq(const struct ubi_device *ubi,
|
||||
struct ubi_wl_entry *e);
|
||||
#else
|
||||
#define paranoid_check_ec(ubi, pnum, ec) 0
|
||||
#define paranoid_check_in_wl_tree(e, root)
|
||||
#define paranoid_check_in_wl_tree(ubi, e, root)
|
||||
#define paranoid_check_in_pq(ubi, e) 0
|
||||
#endif
|
||||
|
||||
@ -449,7 +452,7 @@ retry:
|
||||
BUG();
|
||||
}
|
||||
|
||||
paranoid_check_in_wl_tree(e, &ubi->free);
|
||||
paranoid_check_in_wl_tree(ubi, e, &ubi->free);
|
||||
|
||||
/*
|
||||
* Move the physical eraseblock to the protection queue where it will
|
||||
@ -712,7 +715,7 @@ static int wear_leveling_worker(struct ubi_device *ubi, struct ubi_work *wrk,
|
||||
e1->ec, e2->ec);
|
||||
goto out_cancel;
|
||||
}
|
||||
paranoid_check_in_wl_tree(e1, &ubi->used);
|
||||
paranoid_check_in_wl_tree(ubi, e1, &ubi->used);
|
||||
rb_erase(&e1->u.rb, &ubi->used);
|
||||
dbg_wl("move PEB %d EC %d to PEB %d EC %d",
|
||||
e1->pnum, e1->ec, e2->pnum, e2->ec);
|
||||
@ -721,12 +724,12 @@ static int wear_leveling_worker(struct ubi_device *ubi, struct ubi_work *wrk,
|
||||
scrubbing = 1;
|
||||
e1 = rb_entry(rb_first(&ubi->scrub), struct ubi_wl_entry, u.rb);
|
||||
e2 = find_wl_entry(&ubi->free, WL_FREE_MAX_DIFF);
|
||||
paranoid_check_in_wl_tree(e1, &ubi->scrub);
|
||||
paranoid_check_in_wl_tree(ubi, e1, &ubi->scrub);
|
||||
rb_erase(&e1->u.rb, &ubi->scrub);
|
||||
dbg_wl("scrub PEB %d to PEB %d", e1->pnum, e2->pnum);
|
||||
}
|
||||
|
||||
paranoid_check_in_wl_tree(e2, &ubi->free);
|
||||
paranoid_check_in_wl_tree(ubi, e2, &ubi->free);
|
||||
rb_erase(&e2->u.rb, &ubi->free);
|
||||
ubi->move_from = e1;
|
||||
ubi->move_to = e2;
|
||||
@ -1169,13 +1172,13 @@ retry:
|
||||
return 0;
|
||||
} else {
|
||||
if (in_wl_tree(e, &ubi->used)) {
|
||||
paranoid_check_in_wl_tree(e, &ubi->used);
|
||||
paranoid_check_in_wl_tree(ubi, e, &ubi->used);
|
||||
rb_erase(&e->u.rb, &ubi->used);
|
||||
} else if (in_wl_tree(e, &ubi->scrub)) {
|
||||
paranoid_check_in_wl_tree(e, &ubi->scrub);
|
||||
paranoid_check_in_wl_tree(ubi, e, &ubi->scrub);
|
||||
rb_erase(&e->u.rb, &ubi->scrub);
|
||||
} else if (in_wl_tree(e, &ubi->erroneous)) {
|
||||
paranoid_check_in_wl_tree(e, &ubi->erroneous);
|
||||
paranoid_check_in_wl_tree(ubi, e, &ubi->erroneous);
|
||||
rb_erase(&e->u.rb, &ubi->erroneous);
|
||||
ubi->erroneous_peb_count -= 1;
|
||||
ubi_assert(ubi->erroneous_peb_count >= 0);
|
||||
@ -1242,7 +1245,7 @@ retry:
|
||||
}
|
||||
|
||||
if (in_wl_tree(e, &ubi->used)) {
|
||||
paranoid_check_in_wl_tree(e, &ubi->used);
|
||||
paranoid_check_in_wl_tree(ubi, e, &ubi->used);
|
||||
rb_erase(&e->u.rb, &ubi->used);
|
||||
} else {
|
||||
int err;
|
||||
@ -1609,13 +1612,15 @@ out_free:
|
||||
|
||||
/**
|
||||
* paranoid_check_in_wl_tree - check that wear-leveling entry is in WL RB-tree.
|
||||
* @ubi: UBI device description object
|
||||
* @e: the wear-leveling entry to check
|
||||
* @root: the root of the tree
|
||||
*
|
||||
* This function returns zero if @e is in the @root RB-tree and %-EINVAL if it
|
||||
* is not.
|
||||
*/
|
||||
static int paranoid_check_in_wl_tree(struct ubi_wl_entry *e,
|
||||
static int paranoid_check_in_wl_tree(const struct ubi_device *ubi,
|
||||
struct ubi_wl_entry *e,
|
||||
struct rb_root *root)
|
||||
{
|
||||
if (!(ubi_chk_flags & UBI_CHK_GEN))
|
||||
@ -1638,7 +1643,8 @@ static int paranoid_check_in_wl_tree(struct ubi_wl_entry *e,
|
||||
*
|
||||
* This function returns zero if @e is in @ubi->pq and %-EINVAL if it is not.
|
||||
*/
|
||||
static int paranoid_check_in_pq(struct ubi_device *ubi, struct ubi_wl_entry *e)
|
||||
static int paranoid_check_in_pq(const struct ubi_device *ubi,
|
||||
struct ubi_wl_entry *e)
|
||||
{
|
||||
struct ubi_wl_entry *p;
|
||||
int i;
|
||||
|
Loading…
Reference in New Issue
Block a user