summaryrefslogtreecommitdiffstats
path: root/drivers/mtd
diff options
context:
space:
mode:
authorBrian Norris <computersforpeace@gmail.com>2011-09-07 13:13:34 -0700
committerArtem Bityutskiy <artem.bityutskiy@intel.com>2011-09-11 17:15:56 +0300
commitc5e8ef9c21a492f1e0436b350bbc3e916f93e506 (patch)
treec9d6f8da9c532d0c6edb9cdff5ee0ad9002c4e58 /drivers/mtd
parent596d74527a804418d88e1178c9d72aff5649e89c (diff)
downloadlinux-c5e8ef9c21a492f1e0436b350bbc3e916f93e506.tar.gz
linux-c5e8ef9c21a492f1e0436b350bbc3e916f93e506.tar.bz2
linux-c5e8ef9c21a492f1e0436b350bbc3e916f93e506.zip
mtd: nand: begin restructuring check_create
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> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
Diffstat (limited to 'drivers/mtd')
-rw-r--r--drivers/mtd/nand/nand_bbt.c24
1 files changed, 5 insertions, 19 deletions
diff --git a/drivers/mtd/nand/nand_bbt.c b/drivers/mtd/nand/nand_bbt.c
index e962167c9b71..42b523a84fc6 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))