UBI: prepare debugging stuff to further debugfs conversion
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Wed, 18 May 2011 13:03:23 +0000 (16:03 +0300)
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Wed, 1 Jun 2011 08:21:52 +0000 (11:21 +0300)
We'll need the 'struct ubi_device *ubi' pointer in every debugging function (to
access the ->dbg field), so add this pointer to all the functions implementing
UBI debugging test modes like 'ubi_dbg_is_bitflip()' etc.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
drivers/mtd/ubi/debug.h
drivers/mtd/ubi/io.c
drivers/mtd/ubi/wl.c

index cb6c87977be656e2f6f7e23a17cbb63df479622a..efefc549fee2df03d4dfadac47865a3768d38f40 100644 (file)
@@ -126,21 +126,23 @@ enum {
 
 /**
  * ubi_dbg_is_bgt_disabled - if the background thread is disabled.
+ * @ubi: UBI device description object
  *
  * Returns non-zero if the UBI background thread is disabled for testing
  * purposes.
  */
-static inline int ubi_dbg_is_bgt_disabled(void)
+static inline int ubi_dbg_is_bgt_disabled(const struct ubi_device *ubi)
 {
        return ubi_tst_flags & UBI_TST_DISABLE_BGT;
 }
 
 /**
  * ubi_dbg_is_bitflip - if it is time to emulate a bit-flip.
+ * @ubi: UBI device description object
  *
  * Returns non-zero if a bit-flip should be emulated, otherwise returns zero.
  */
-static inline int ubi_dbg_is_bitflip(void)
+static inline int ubi_dbg_is_bitflip(const struct ubi_device *ubi)
 {
        if (ubi_tst_flags & UBI_TST_EMULATE_BITFLIPS)
                return !(random32() % 200);
@@ -149,11 +151,12 @@ static inline int ubi_dbg_is_bitflip(void)
 
 /**
  * ubi_dbg_is_write_failure - if it is time to emulate a write failure.
+ * @ubi: UBI device description object
  *
  * Returns non-zero if a write failure should be emulated, otherwise returns
  * zero.
  */
-static inline int ubi_dbg_is_write_failure(void)
+static inline int ubi_dbg_is_write_failure(const struct ubi_device *ubi)
 {
        if (ubi_tst_flags & UBI_TST_EMULATE_WRITE_FAILURES)
                return !(random32() % 500);
@@ -162,11 +165,12 @@ static inline int ubi_dbg_is_write_failure(void)
 
 /**
  * ubi_dbg_is_erase_failure - if its time to emulate an erase failure.
+ * @ubi: UBI device description object
  *
  * Returns non-zero if an erase failure should be emulated, otherwise returns
  * zero.
  */
-static inline int ubi_dbg_is_erase_failure(void)
+static inline int ubi_dbg_is_erase_failure(const struct ubi_device *ubi)
 {
        if (ubi_tst_flags & UBI_TST_EMULATE_ERASE_FAILURES)
                return !(random32() % 400);
@@ -233,10 +237,13 @@ static inline void ubi_debugfs_exit(void)                          { return; }
 static inline int ubi_debugfs_init_dev(struct ubi_device *ubi)     { return 0; }
 static inline void ubi_debugfs_exit_dev(struct ubi_device *ubi)    { return; }
 
-static inline int ubi_dbg_is_bgt_disabled(void)                    { return 0; }
-static inline int ubi_dbg_is_bitflip(void)                         { return 0; }
-static inline int ubi_dbg_is_write_failure(void)                   { return 0; }
-static inline int ubi_dbg_is_erase_failure(void)                   { return 0; }
+static inline int
+ubi_dbg_is_bgt_disabled(const struct ubi_device *ubi)              { return 0; }
+static inline int ubi_dbg_is_bitflip(const struct ubi_device *ubi) { return 0; }
+static inline int
+ubi_dbg_is_write_failure(const struct ubi_device *ubi)             { return 0; }
+static inline int
+ubi_dbg_is_erase_failure(const struct ubi_device *ubi)             { return 0; }
 
 #endif /* !CONFIG_MTD_UBI_DEBUG */
 #endif /* !__UBI_DEBUG_H__ */
index e23d6118224f4c550a61145bcdf03192bb6b57fa..6ba55c2358738d3d3645f816b55c0286ee15562b 100644 (file)
@@ -212,7 +212,7 @@ retry:
        } else {
                ubi_assert(len == read);
 
-               if (ubi_dbg_is_bitflip()) {
+               if (ubi_dbg_is_bitflip(ubi)) {
                        dbg_gen("bit-flip (emulated)");
                        err = UBI_IO_BITFLIPS;
                }
@@ -281,7 +281,7 @@ int ubi_io_write(struct ubi_device *ubi, const void *buf, int pnum, int offset,
                        return err;
        }
 
-       if (ubi_dbg_is_write_failure()) {
+       if (ubi_dbg_is_write_failure(ubi)) {
                dbg_err("cannot write %d bytes to PEB %d:%d "
                        "(emulated)", len, pnum, offset);
                ubi_dbg_dump_stack();
@@ -396,7 +396,7 @@ retry:
        if (err)
                return err;
 
-       if (ubi_dbg_is_erase_failure()) {
+       if (ubi_dbg_is_erase_failure(ubi)) {
                dbg_err("cannot erase PEB %d (emulated)", pnum);
                return -EIO;
        }
index bf13ca275f85ca94a62595f0b9ab97b3833569fe..42c684cf368815814614be19b0398d65fc99fcf0 100644 (file)
@@ -616,7 +616,7 @@ static void schedule_ubi_work(struct ubi_device *ubi, struct ubi_work *wrk)
        list_add_tail(&wrk->list, &ubi->works);
        ubi_assert(ubi->works_count >= 0);
        ubi->works_count += 1;
-       if (ubi->thread_enabled && !ubi_dbg_is_bgt_disabled())
+       if (ubi->thread_enabled && !ubi_dbg_is_bgt_disabled(ubi))
                wake_up_process(ubi->bgt_thread);
        spin_unlock(&ubi->wl_lock);
 }
@@ -1367,7 +1367,7 @@ int ubi_thread(void *u)
 
                spin_lock(&ubi->wl_lock);
                if (list_empty(&ubi->works) || ubi->ro_mode ||
-                   !ubi->thread_enabled || ubi_dbg_is_bgt_disabled()) {
+                   !ubi->thread_enabled || ubi_dbg_is_bgt_disabled(ubi)) {
                        set_current_state(TASK_INTERRUPTIBLE);
                        spin_unlock(&ubi->wl_lock);
                        schedule();
This page took 0.031642 seconds and 5 git commands to generate.