mtd: nand: Get rid of needless 'goto'
authorAndrey Smirnov <andrew.smirnov@gmail.com>
Thu, 21 Jul 2016 21:59:21 +0000 (14:59 -0700)
committerBoris Brezillon <boris.brezillon@free-electrons.com>
Fri, 23 Sep 2016 07:35:16 +0000 (09:35 +0200)
Using "goto" and "switch" statement only makes it harder to follow
control flow and doesn't bring any advantages. Rewrite the code to avoid
using "goto".

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
drivers/mtd/nand/nand_base.c

index 7f742c9..108adef 100644 (file)
@@ -2162,7 +2162,7 @@ static int nand_do_read_oob(struct mtd_info *mtd, loff_t from,
 static int nand_read_oob(struct mtd_info *mtd, loff_t from,
                         struct mtd_oob_ops *ops)
 {
-       int ret = -ENOTSUPP;
+       int ret;
 
        ops->retlen = 0;
 
@@ -2173,24 +2173,18 @@ static int nand_read_oob(struct mtd_info *mtd, loff_t from,
                return -EINVAL;
        }
 
-       nand_get_device(mtd, FL_READING);
-
-       switch (ops->mode) {
-       case MTD_OPS_PLACE_OOB:
-       case MTD_OPS_AUTO_OOB:
-       case MTD_OPS_RAW:
-               break;
+       if (ops->mode != MTD_OPS_PLACE_OOB &&
+           ops->mode != MTD_OPS_AUTO_OOB &&
+           ops->mode != MTD_OPS_RAW)
+               return -ENOTSUPP;
 
-       default:
-               goto out;
-       }
+       nand_get_device(mtd, FL_READING);
 
        if (!ops->datbuf)
                ret = nand_do_read_oob(mtd, from, ops);
        else
                ret = nand_do_read_ops(mtd, from, ops);
 
-out:
        nand_release_device(mtd);
        return ret;
 }