@@ -481,67 +481,73 @@ int flash_area_read_is_empty(const struct flash_area *fa, uint32_t off,
481
481
}
482
482
483
483
#ifdef MCUBOOT_USE_FLASH_AREA_GET_SECTORS
484
- int flash_area_get_sectors ( int idx , uint32_t * cnt , struct flash_sector * ret )
484
+ int flash_area_get_sectors_fa ( const struct flash_area * fa , uint32_t * cnt , struct flash_sector * ret )
485
485
{
486
486
int rc = 0 ;
487
487
uint32_t i = 0 ;
488
488
struct flash_area * fa = NULL ;
489
489
490
- while (NULL != boot_area_descs [i ])
490
+ size_t sector_size = 0 ;
491
+
492
+ if (fa -> fa_device_id == FLASH_DEVICE_INTERNAL_FLASH )
491
493
{
492
- if (idx == boot_area_descs [i ]-> fa_id )
493
- {
494
- fa = boot_area_descs [i ];
495
- break ;
496
- }
497
- i ++ ;
494
+ sector_size = CY_FLASH_SIZEOF_ROW ;
495
+ }
496
+ #ifdef CY_BOOT_USE_EXTERNAL_FLASH
497
+ else if ((fa -> fa_device_id & FLASH_DEVICE_EXTERNAL_FLAG ) == FLASH_DEVICE_EXTERNAL_FLAG )
498
+ {
499
+ /* implement for SMIF */
500
+ /* lets assume they are equal */
501
+ sector_size = CY_FLASH_SIZEOF_ROW ;
502
+ }
503
+ #endif
504
+ else
505
+ {
506
+ rc = -1 ;
498
507
}
499
508
500
- if (NULL != boot_area_descs [ i ] )
509
+ if (0 == rc )
501
510
{
502
- size_t sector_size = 0 ;
511
+ uint32_t addr = 0 ;
512
+ size_t sectors_n = 0 ;
503
513
504
- if (fa -> fa_device_id == FLASH_DEVICE_INTERNAL_FLASH )
505
- {
506
- sector_size = CY_FLASH_SIZEOF_ROW ;
507
- }
508
- #ifdef CY_BOOT_USE_EXTERNAL_FLASH
509
- else if ((fa -> fa_device_id & FLASH_DEVICE_EXTERNAL_FLAG ) == FLASH_DEVICE_EXTERNAL_FLAG )
510
- {
511
- /* implement for SMIF */
512
- /* lets assume they are equal */
513
- sector_size = CY_FLASH_SIZEOF_ROW ;
514
- }
515
- #endif
516
- else
517
- {
518
- rc = -1 ;
519
- }
514
+ sectors_n = (fa -> fa_size + (sector_size - 1 )) / sector_size ;
515
+ assert (sectors_n <= * cnt );
520
516
521
- if (0 == rc )
517
+ addr = fa -> fa_off ;
518
+ for (i = 0 ; i < sectors_n ; i ++ )
522
519
{
523
- uint32_t addr = 0 ;
524
- size_t sectors_n = 0 ;
520
+ ret [i ].fs_size = sector_size ;
521
+ ret [i ].fs_off = addr ;
522
+ addr += sector_size ;
523
+ }
525
524
526
- sectors_n = (fa -> fa_size + (sector_size - 1 )) / sector_size ;
527
- assert (sectors_n <= * cnt );
525
+ * cnt = sectors_n ;
526
+ }
527
+ return rc ;
528
+ }
528
529
529
- addr = fa -> fa_off ;
530
- for (i = 0 ; i < sectors_n ; i ++ )
531
- {
532
- ret [i ].fs_size = sector_size ;
533
- ret [i ].fs_off = addr ;
534
- addr += sector_size ;
535
- }
530
+ int flash_area_get_sectors (int idx , uint32_t * cnt , struct flash_sector * ret )
531
+ {
532
+ int rc = -1 ;
533
+ uint32_t i = 0 ;
534
+ struct flash_area * fa = NULL ;
536
535
537
- * cnt = sectors_n ;
536
+ while (NULL != boot_area_descs [i ])
537
+ {
538
+ if (idx == boot_area_descs [i ]-> fa_id )
539
+ {
540
+ fa = boot_area_descs [i ];
541
+ break ;
538
542
}
543
+ i ++ ;
539
544
}
540
- else
545
+
546
+ if (NULL != fa )
541
547
{
542
- rc = -1 ;
548
+ flash_area_get_sectors_fa ( fa , cnt , ret ) ;
543
549
}
544
-
545
550
return rc ;
546
551
}
552
+
547
553
#endif
0 commit comments