Skip to content

Commit 8f87804

Browse files
committed
[nrf fromlist] include: storage: flash_map: Fix PARTITION_NODE_OFFSET
Fixes this macro when it used with a child node of a top level fixed-subpartitions node Upstream PR #: 106059 Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
1 parent a99b8da commit 8f87804

File tree

1 file changed

+7
-11
lines changed

1 file changed

+7
-11
lines changed

include/zephyr/storage/flash_map.h

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -398,13 +398,7 @@ uint8_t flash_area_erased_val(const struct flash_area *fa);
398398
*
399399
* @return offset, as defined for the partition in DTS.
400400
*/
401-
#define PARTITION_OFFSET(label) \
402-
COND_CODE_1(DT_NODE_HAS_COMPAT(DT_NODELABEL(label), zephyr_mapped_partition), \
403-
(DT_MAPPED_PARTITION_OFFSET(DT_NODELABEL(label))), \
404-
(COND_CODE_1(DT_FIXED_SUBPARTITION_EXISTS(DT_NODELABEL(label)), \
405-
(DT_PROP_BY_IDX(DT_PARENT(DT_NODELABEL(label)), reg, 0) + \
406-
DT_PROP_BY_IDX(DT_NODELABEL(label), reg, 0)), \
407-
(DT_PROP_BY_IDX(DT_NODELABEL(label), reg, 0)))))
401+
#define PARTITION_OFFSET(label) PARTITION_NODE_OFFSET(DT_NODELABEL(label))
408402

409403
/** Deprecated macro, replace with PARTITION_OFFSET() */
410404
#define FIXED_PARTITION_OFFSET(label) PARTITION_OFFSET(label) __DEPRECATED_MACRO
@@ -450,10 +444,12 @@ uint8_t flash_area_erased_val(const struct flash_area *fa);
450444
*
451445
* @return offset, as defined for the partition in DTS.
452446
*/
453-
#define PARTITION_NODE_OFFSET(node) \
454-
COND_CODE_1(DT_NODE_HAS_COMPAT(node, zephyr_mapped_partition), \
455-
(DT_MAPPED_PARTITION_OFFSET(node)), \
456-
(DT_REG_ADDR(node)))
447+
#define PARTITION_NODE_OFFSET(node) \
448+
COND_CASE_1(DT_NODE_HAS_COMPAT(node, zephyr_mapped_partition), \
449+
(DT_MAPPED_PARTITION_OFFSET(node)), \
450+
DT_FIXED_SUBPARTITION_EXISTS(node), \
451+
(DT_PROP_BY_IDX(DT_PARENT(node), reg, 0) + DT_PROP_BY_IDX(node, reg, 0)), \
452+
((DT_PROP_BY_IDX(node, reg, 0))))
457453

458454
/** Deprecated macro, replace with PARTITION_NODE_OFFSET() */
459455
#define FIXED_PARTITION_NODE_OFFSET(label) PARTITION_NODE_OFFSET(label) __DEPRECATED_MACRO

0 commit comments

Comments
 (0)