@@ -189,7 +189,6 @@ int sfdp_parse_sector_map_table(Callback<int(bd_addr_t, void *, bd_size_t)> sfdp
189
189
int status = 0 ;
190
190
uint32_t tmp_region_size = 0 ;
191
191
uint8_t type_mask;
192
- int i_ind = 0 ;
193
192
int prev_boundary = 0 ;
194
193
// Default set to all type bits 1-4 are common
195
194
int min_common_erase_type_bits = SFDP_ERASE_BITMASK_ALL;
@@ -235,34 +234,31 @@ int sfdp_parse_sector_map_table(Callback<int(bd_addr_t, void *, bd_size_t)> sfdp
235
234
236
235
// Loop through Regions and set for each one: size, supported erase types, high boundary offset
237
236
// Calculate minimum Common Erase Type for all Regions
238
- for (i_ind = 0 ; i_ind < sfdp_info.smptbl .region_cnt ; i_ind ++) {
239
- tmp_region_size = ((*((uint32_t *)&smptbl_buff[(i_ind + 1 ) * 4 ])) >> 8 ) & 0x00FFFFFF ; // bits 9-32
240
- sfdp_info.smptbl .region_size [i_ind ] = (tmp_region_size + 1 ) * 256 ; // Region size is 0 based multiple of 256 bytes;
237
+ for (auto idx = 0 ; idx < sfdp_info.smptbl .region_cnt ; idx ++) {
238
+ tmp_region_size = ((*((uint32_t *)&smptbl_buff[(idx + 1 ) * 4 ])) >> 8 ) & 0x00FFFFFF ; // bits 9-32
239
+ sfdp_info.smptbl .region_size [idx ] = (tmp_region_size + 1 ) * 256 ; // Region size is 0 based multiple of 256 bytes;
241
240
242
- sfdp_info.smptbl .region_erase_types_bitfld [i_ind ] = smptbl_buff[(i_ind + 1 ) * 4 ] & 0x0F ; // bits 1-4
241
+ sfdp_info.smptbl .region_erase_types_bitfld [idx ] = smptbl_buff[(idx + 1 ) * 4 ] & 0x0F ; // bits 1-4
243
242
244
- min_common_erase_type_bits &= sfdp_info.smptbl .region_erase_types_bitfld [i_ind ];
243
+ min_common_erase_type_bits &= sfdp_info.smptbl .region_erase_types_bitfld [idx ];
245
244
246
- sfdp_info.smptbl .region_high_boundary [i_ind ] = (sfdp_info.smptbl .region_size [i_ind ] - 1 ) + prev_boundary;
245
+ sfdp_info.smptbl .region_high_boundary [idx ] = (sfdp_info.smptbl .region_size [idx ] - 1 ) + prev_boundary;
247
246
248
- prev_boundary = sfdp_info.smptbl .region_high_boundary [i_ind ] + 1 ;
247
+ prev_boundary = sfdp_info.smptbl .region_high_boundary [idx ] + 1 ;
249
248
}
250
249
251
250
// Calc minimum Common Erase Size from min_common_erase_type_bits
252
251
type_mask = SFDP_ERASE_BITMASK_TYPE1;
253
- for (i_ind = 0 ; i_ind < 4 ; i_ind++) {
252
+ // If no common erase type is found between regions
253
+ sfdp_info.smptbl .regions_min_common_erase_size = 0 ;
254
+ for (auto idx = 0 ; idx < 4 ; idx++) {
254
255
if (min_common_erase_type_bits & type_mask) {
255
- sfdp_info.smptbl .regions_min_common_erase_size = sfdp_info.smptbl .erase_type_size_arr [i_ind ];
256
+ sfdp_info.smptbl .regions_min_common_erase_size = sfdp_info.smptbl .erase_type_size_arr [idx ];
256
257
break ;
257
258
}
258
259
type_mask = type_mask << 1 ;
259
260
}
260
261
261
- if (i_ind == 4 ) {
262
- // No common erase type was found between regions
263
- sfdp_info.smptbl .regions_min_common_erase_size = 0 ;
264
- }
265
-
266
262
EXIT:
267
263
free (smptbl_buff);
268
264
0 commit comments