Patchwork [07/14] mtd: nand: begin restructuring check_create

login
register
mail settings
Submitter Brian Norris
Date Sept. 7, 2011, 8:13 p.m.
Message ID <1315426421-16243-8-git-send-email-computersforpeace@gmail.com>
Download mbox | patch
Permalink /patch/113827/
State Accepted
Commit c5e8ef9c21a492f1e0436b350bbc3e916f93e506
Headers show

Comments

Brian Norris - Sept. 7, 2011, 8:13 p.m.
We will begin restructuring the code for check_create so that we can
make some important changes. For now, we should just begin to get rid of
some goto statements to make things cleaner. This is the first step of a
few, which are separated to make them easier to follow.

This step should just be a code refactor.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
---
 drivers/mtd/nand/nand_bbt.c |   24 +++++-------------------
 1 files changed, 5 insertions(+), 19 deletions(-)

Patch

diff --git a/drivers/mtd/nand/nand_bbt.c b/drivers/mtd/nand/nand_bbt.c
index cba4c44..6b5b2c0 100644
--- a/drivers/mtd/nand/nand_bbt.c
+++ b/drivers/mtd/nand/nand_bbt.c
@@ -898,30 +898,19 @@  static int check_create(struct mtd_info *mtd, uint8_t *buf, struct nand_bbt_desc
 			if (td->pages[i] == -1 && md->pages[i] == -1) {
 				writeops = 0x03;
 				goto create;
-			}
-
-			if (td->pages[i] == -1) {
+			} else if (td->pages[i] == -1) {
 				rd = md;
 				td->version[i] = md->version[i];
 				writeops = 0x01;
-				goto writecheck;
-			}
-
-			if (md->pages[i] == -1) {
+			} else if (md->pages[i] == -1) {
 				rd = td;
 				md->version[i] = td->version[i];
 				writeops = 0x02;
-				goto writecheck;
-			}
-
-			if (td->version[i] == md->version[i]) {
+			} else if (td->version[i] == md->version[i]) {
 				rd = td;
 				if (!(td->options & NAND_BBT_VERSION))
 					rd2 = md;
-				goto writecheck;
-			}
-
-			if (((int8_t)(td->version[i] - md->version[i])) > 0) {
+			} else if (((int8_t)(td->version[i] - md->version[i])) > 0) {
 				rd = td;
 				md->version[i] = td->version[i];
 				writeops = 0x02;
@@ -930,17 +919,14 @@  static int check_create(struct mtd_info *mtd, uint8_t *buf, struct nand_bbt_desc
 				td->version[i] = md->version[i];
 				writeops = 0x01;
 			}
-
-			goto writecheck;
-
 		} else {
 			if (td->pages[i] == -1) {
 				writeops = 0x01;
 				goto create;
 			}
 			rd = td;
-			goto writecheck;
 		}
+		goto writecheck;
 	create:
 		/* Create the bad block table by scanning the device? */
 		if (!(td->options & NAND_BBT_CREATE))