mtd: bcm47xxpart: simplify size calculation to one loop
authorRafał Miłecki <zajec5@gmail.com>
Sun, 6 Jan 2013 15:08:35 +0000 (16:08 +0100)
committerArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
Mon, 4 Feb 2013 07:26:30 +0000 (09:26 +0200)
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
drivers/mtd/bcm47xxpart.c

index e06d782..06125eb 100644 (file)
@@ -169,11 +169,12 @@ static int bcm47xxpart_parse(struct mtd_info *master,
         * Assume that partitions end at the beginning of the one they are
         * followed by.
         */
-       for (i = 0; i < curr_part - 1; i++)
-               parts[i].size = parts[i + 1].offset - parts[i].offset;
-       if (curr_part > 0)
-               parts[curr_part - 1].size =
-                               master->size - parts[curr_part - 1].offset;
+       for (i = 0; i < curr_part; i++) {
+               u64 next_part_offset = (i < curr_part - 1) ?
+                                      parts[i + 1].offset : master->size;
+
+               parts[i].size = next_part_offset - parts[i].offset;
+       }
 
        *pparts = parts;
        return curr_part;