flash/nor/cfi: Minor code cleanups
authorMarc Schink <dev@zapb.de>
Fri, 21 Feb 2020 14:26:10 +0000 (15:26 +0100)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sun, 5 Apr 2020 13:11:18 +0000 (14:11 +0100)
Change-Id: I2d45fcc5b9d232db66218aab5fef3add5830bcd7
Signed-off-by: Marc Schink <dev@zapb.de>
Reviewed-on: http://openocd.zylin.com/5463
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
src/flash/nor/cfi.c

index 224f1749a607438a07e76bb915c50463047816bf..80a0a33ee86692799bed80507f0ad357e0427c26 100644 (file)
@@ -100,9 +100,8 @@ static const struct cfi_fixup cfi_0001_fixups[] = {
 static void cfi_fixup(struct flash_bank *bank, const struct cfi_fixup *fixups)
 {
        struct cfi_flash_bank *cfi_info = bank->driver_priv;
-       const struct cfi_fixup *f;
 
-       for (f = fixups; f->fixup; f++) {
+       for (const struct cfi_fixup *f = fixups; f->fixup; f++) {
                if (((f->mfr == CFI_MFR_ANY) || (f->mfr == cfi_info->manufacturer)) &&
                                ((f->id  == CFI_ID_ANY)  || (f->id  == cfi_info->device_id)))
                        f->fixup(bank, f->param);
@@ -154,20 +153,19 @@ int cfi_target_read_memory(struct flash_bank *bank, target_addr_t addr,
 
 static void cfi_command(struct flash_bank *bank, uint8_t cmd, uint8_t *cmd_buf)
 {
-       int i;
        struct cfi_flash_bank *cfi_info = bank->driver_priv;
 
        /* clear whole buffer, to ensure bits that exceed the bus_width
         * are set to zero
         */
-       for (i = 0; i < CFI_MAX_BUS_WIDTH; i++)
+       for (size_t i = 0; i < CFI_MAX_BUS_WIDTH; i++)
                cmd_buf[i] = 0;
 
        if (cfi_info->endianness == TARGET_LITTLE_ENDIAN) {
-               for (i = bank->bus_width; i > 0; i--)
+               for (int i = bank->bus_width; i > 0; i--)
                        *cmd_buf++ = (i & (bank->chip_width - 1)) ? 0x0 : cmd;
        } else {
-               for (i = 1; i <= bank->bus_width; i++)
+               for (int i = 1; i <= bank->bus_width; i++)
                        *cmd_buf++ = (i & (bank->chip_width - 1)) ? 0x0 : cmd;
        }
 }
@@ -211,7 +209,6 @@ static int cfi_get_u8(struct flash_bank *bank, int sector, uint32_t offset, uint
 {
        struct cfi_flash_bank *cfi_info = bank->driver_priv;
        uint8_t data[CFI_MAX_BUS_WIDTH];
-       int i;
 
        int retval;
        retval = cfi_target_read_memory(bank, cfi_flash_address(bank, sector, offset),
@@ -220,13 +217,13 @@ static int cfi_get_u8(struct flash_bank *bank, int sector, uint32_t offset, uint
                return retval;
 
        if (cfi_info->endianness == TARGET_LITTLE_ENDIAN) {
-               for (i = 0; i < bank->bus_width / bank->chip_width; i++)
+               for (int i = 0; i < bank->bus_width / bank->chip_width; i++)
                        data[0] |= data[i];
 
                *val = data[0];
        } else {
                uint8_t value = 0;
-               for (i = 0; i < bank->bus_width / bank->chip_width; i++)
+               for (int i = 0; i < bank->bus_width / bank->chip_width; i++)
                        value |= data[bank->bus_width - 1 - i];
 
                *val = value;
@@ -241,8 +238,7 @@ static int cfi_query_u16(struct flash_bank *bank, int sector, uint32_t offset, u
        int retval;
 
        if (cfi_info->x16_as_x8) {
-               uint8_t i;
-               for (i = 0; i < 2; i++) {
+               for (uint8_t i = 0; i < 2; i++) {
                        retval = cfi_target_read_memory(bank, cfi_flash_address(bank, sector, offset + i),
                                                        1, &data[i * bank->bus_width]);
                        if (retval != ERROR_OK)
@@ -270,8 +266,7 @@ static int cfi_query_u32(struct flash_bank *bank, int sector, uint32_t offset, u
        int retval;
 
        if (cfi_info->x16_as_x8) {
-               uint8_t i;
-               for (i = 0; i < 4; i++) {
+               for (uint8_t i = 0; i < 4; i++) {
                        retval = cfi_target_read_memory(bank, cfi_flash_address(bank, sector, offset + i),
                                                        1, &data[i * bank->bus_width]);
                        if (retval != ERROR_OK)
@@ -841,7 +836,7 @@ int cfi_flash_bank_cmd(struct flash_bank *bank, unsigned int argc, const char **
        }
 
        cfi_info = malloc(sizeof(struct cfi_flash_bank));
-       cfi_info->probed = 0;
+       cfi_info->probed = false;
        cfi_info->erase_region_info = NULL;
        cfi_info->pri_ext = NULL;
        bank->driver_priv = cfi_info;
@@ -886,11 +881,10 @@ static int cfi_intel_erase(struct flash_bank *bank, int first, int last)
 {
        int retval;
        struct cfi_flash_bank *cfi_info = bank->driver_priv;
-       int i;
 
        cfi_intel_clear_status_register(bank);
 
-       for (i = first; i <= last; i++) {
+       for (int i = first; i <= last; i++) {
                retval = cfi_send_command(bank, 0x20, cfi_flash_address(bank, i, 0x0));
                if (retval != ERROR_OK)
                        return retval;
@@ -942,9 +936,8 @@ static int cfi_spansion_erase(struct flash_bank *bank, int first, int last)
        int retval;
        struct cfi_flash_bank *cfi_info = bank->driver_priv;
        struct cfi_spansion_pri_ext *pri_ext = cfi_info->pri_ext;
-       int i;
 
-       for (i = first; i <= last; i++) {
+       for (int i = first; i <= last; i++) {
                retval = cfi_spansion_unlock_seq(bank);
                if (retval != ERROR_OK)
                        return retval;
@@ -1014,7 +1007,6 @@ static int cfi_intel_protect(struct flash_bank *bank, int set, int first, int la
        struct cfi_flash_bank *cfi_info = bank->driver_priv;
        struct cfi_intel_pri_ext *pri_ext = cfi_info->pri_ext;
        int retry = 0;
-       int i;
 
        /* if the device supports neither legacy lock/unlock (bit 3) nor
         * instant individual block locking (bit 5).
@@ -1026,7 +1018,7 @@ static int cfi_intel_protect(struct flash_bank *bank, int set, int first, int la
 
        cfi_intel_clear_status_register(bank);
 
-       for (i = first; i <= last; i++) {
+       for (int i = first; i <= last; i++) {
                retval = cfi_send_command(bank, 0x60, cfi_flash_address(bank, i, 0x0));
                if (retval != ERROR_OK)
                        return retval;
@@ -1097,7 +1089,7 @@ static int cfi_intel_protect(struct flash_bank *bank, int set, int first, int la
                 * 3. re-protect what should be protected.
                 *
                 */
-               for (i = 0; i < bank->num_sectors; i++) {
+               for (int i = 0; i < bank->num_sectors; i++) {
                        if (bank->sectors[i].is_protected == 1) {
                                cfi_intel_clear_status_register(bank);
 
@@ -2276,7 +2268,6 @@ static int cfi_read(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, u
        uint32_t read_p;
        int align;      /* number of unaligned bytes */
        uint8_t current_word[CFI_MAX_BUS_WIDTH];
-       int i;
        int retval;
 
        LOG_DEBUG("reading buffer of %i byte at 0x%8.8x",
@@ -2305,7 +2296,7 @@ static int cfi_read(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, u
                        return retval;
 
                /* take only bytes we need */
-               for (i = align; (i < bank->bus_width) && (count > 0); i++, count--)
+               for (int i = align; (i < bank->bus_width) && (count > 0); i++, count--)
                        *buffer++ = current_word[i];
 
                read_p += bank->bus_width;
@@ -2331,7 +2322,7 @@ static int cfi_read(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, u
                        return retval;
 
                /* take only bytes we need */
-               for (i = 0; (i < bank->bus_width) && (count > 0); i++, count--)
+               for (int i = 0; (i < bank->bus_width) && (count > 0); i++, count--)
                        *buffer++ = current_word[i];
        }
 
@@ -2349,7 +2340,6 @@ static int cfi_write(struct flash_bank *bank, const uint8_t *buffer, uint32_t of
                                                         *programmed */
        uint8_t *swapped_buffer = NULL;
        const uint8_t *real_buffer = NULL;
-       int i;
        int retval;
 
        if (bank->target->state != TARGET_HALTED) {
@@ -2375,7 +2365,7 @@ static int cfi_write(struct flash_bank *bank, const uint8_t *buffer, uint32_t of
                        return retval;
 
                /* replace only bytes that must be written */
-               for (i = align;
+               for (int i = align;
                     (i < bank->bus_width) && (count > 0);
                     i++, count--)
                        if (cfi_info->data_swap)
@@ -2441,12 +2431,12 @@ static int cfi_write(struct flash_bank *bank, const uint8_t *buffer, uint32_t of
 
                        /* fall back to memory writes */
                        while (count >= (uint32_t)bank->bus_width) {
-                               int fallback;
+                               bool fallback;
                                if ((write_p & 0xff) == 0) {
                                        LOG_INFO("Programming at 0x%08" PRIx32 ", count 0x%08"
                                                PRIx32 " bytes remaining", write_p, count);
                                }
-                               fallback = 1;
+                               fallback = true;
                                if ((bufferwsize > 0) && (count >= buffersize) &&
                                                !(write_p & buffermask)) {
                                        retval = cfi_write_words(bank, buffer, bufferwsize, write_p);
@@ -2454,13 +2444,13 @@ static int cfi_write(struct flash_bank *bank, const uint8_t *buffer, uint32_t of
                                                buffer += buffersize;
                                                write_p += buffersize;
                                                count -= buffersize;
-                                               fallback = 0;
+                                               fallback = false;
                                        } else if (retval != ERROR_FLASH_OPER_UNSUPPORTED)
                                                return retval;
                                }
                                /* try the slow way? */
                                if (fallback) {
-                                       for (i = 0; i < bank->bus_width; i++)
+                                       for (int i = 0; i < bank->bus_width; i++)
                                                current_word[i] = *buffer++;
 
                                        retval = cfi_write_word(bank, current_word, write_p);
@@ -2495,7 +2485,7 @@ static int cfi_write(struct flash_bank *bank, const uint8_t *buffer, uint32_t of
                        return retval;
 
                /* replace only bytes that must be written */
-               for (i = 0; (i < bank->bus_width) && (count > 0); i++, count--)
+               for (int i = 0; (i < bank->bus_width) && (count > 0); i++, count--)
                        if (cfi_info->data_swap)
                                /* data bytes are swapped (reverse endianness) */
                                current_word[bank->bus_width - i] = *buffer++;
@@ -2522,7 +2512,6 @@ static void cfi_fixup_reversed_erase_regions(struct flash_bank *bank, const void
 
 static void cfi_fixup_0002_erase_regions(struct flash_bank *bank, const void *param)
 {
-       int i;
        struct cfi_flash_bank *cfi_info = bank->driver_priv;
        struct cfi_spansion_pri_ext *pri_ext = cfi_info->pri_ext;
        (void) param;
@@ -2530,7 +2519,7 @@ static void cfi_fixup_0002_erase_regions(struct flash_bank *bank, const void *pa
        if ((pri_ext->_reversed_geometry) || (pri_ext->TopBottom == 3)) {
                LOG_DEBUG("swapping reversed erase region information on cmdset 0002 device");
 
-               for (i = 0; i < cfi_info->num_erase_regions / 2; i++) {
+               for (unsigned int i = 0; i < cfi_info->num_erase_regions / 2; i++) {
                        int j = (cfi_info->num_erase_regions - 1) - i;
                        uint32_t swap;
 
@@ -2598,7 +2587,6 @@ int cfi_probe(struct flash_bank *bank)
        struct cfi_flash_bank *cfi_info = bank->driver_priv;
        struct target *target = bank->target;
        int num_sectors = 0;
-       int i;
        int sector = 0;
        uint32_t unlock1 = 0x555;
        uint32_t unlock2 = 0x2aa;
@@ -2610,7 +2598,7 @@ int cfi_probe(struct flash_bank *bank)
                return ERROR_TARGET_NOT_HALTED;
        }
 
-       cfi_info->probed = 0;
+       cfi_info->probed = false;
        cfi_info->num_erase_regions = 0;
        if (bank->sectors) {
                free(bank->sectors);
@@ -2782,7 +2770,7 @@ int cfi_probe(struct flash_bank *bank)
                if (cfi_info->num_erase_regions) {
                        cfi_info->erase_region_info = malloc(sizeof(*cfi_info->erase_region_info)
                                        * cfi_info->num_erase_regions);
-                       for (i = 0; i < cfi_info->num_erase_regions; i++) {
+                       for (unsigned int i = 0; i < cfi_info->num_erase_regions; i++) {
                                retval = cfi_query_u32(bank,
                                                0,
                                                0x2d + (4 * i),
@@ -2897,15 +2885,14 @@ int cfi_probe(struct flash_bank *bank)
        } else {
                uint32_t offset = 0;
 
-               for (i = 0; i < cfi_info->num_erase_regions; i++)
+               for (unsigned int i = 0; i < cfi_info->num_erase_regions; i++)
                        num_sectors += (cfi_info->erase_region_info[i] & 0xffff) + 1;
 
                bank->num_sectors = num_sectors;
                bank->sectors = malloc(sizeof(struct flash_sector) * num_sectors);
 
-               for (i = 0; i < cfi_info->num_erase_regions; i++) {
-                       uint32_t j;
-                       for (j = 0; j < (cfi_info->erase_region_info[i] & 0xffff) + 1; j++) {
+               for (unsigned int i = 0; i < cfi_info->num_erase_regions; i++) {
+                       for (uint32_t j = 0; j < (cfi_info->erase_region_info[i] & 0xffff) + 1; j++) {
                                bank->sectors[sector].offset = offset;
                                bank->sectors[sector].size =
                                        ((cfi_info->erase_region_info[i] >> 16) * 256)
@@ -2924,7 +2911,7 @@ int cfi_probe(struct flash_bank *bank)
                }
        }
 
-       cfi_info->probed = 1;
+       cfi_info->probed = true;
 
        return ERROR_OK;
 }
@@ -2942,7 +2929,6 @@ static int cfi_intel_protect_check(struct flash_bank *bank)
        int retval;
        struct cfi_flash_bank *cfi_info = bank->driver_priv;
        struct cfi_intel_pri_ext *pri_ext = cfi_info->pri_ext;
-       int i;
 
        /* check if block lock bits are supported on this device */
        if (!(pri_ext->blk_status_reg_mask & 0x1))
@@ -2952,7 +2938,7 @@ static int cfi_intel_protect_check(struct flash_bank *bank)
        if (retval != ERROR_OK)
                return retval;
 
-       for (i = 0; i < bank->num_sectors; i++) {
+       for (int i = 0; i < bank->num_sectors; i++) {
                uint8_t block_status;
                retval = cfi_get_u8(bank, i, 0x2, &block_status);
                if (retval != ERROR_OK)
@@ -2972,7 +2958,6 @@ static int cfi_spansion_protect_check(struct flash_bank *bank)
        int retval;
        struct cfi_flash_bank *cfi_info = bank->driver_priv;
        struct cfi_spansion_pri_ext *pri_ext = cfi_info->pri_ext;
-       int i;
 
        retval = cfi_spansion_unlock_seq(bank);
        if (retval != ERROR_OK)
@@ -2982,7 +2967,7 @@ static int cfi_spansion_protect_check(struct flash_bank *bank)
        if (retval != ERROR_OK)
                return retval;
 
-       for (i = 0; i < bank->num_sectors; i++) {
+       for (int i = 0; i < bank->num_sectors; i++) {
                uint8_t block_status;
                retval = cfi_get_u8(bank, i, 0x2, &block_status);
                if (retval != ERROR_OK)