of: kunit: Extract some overlay boiler plate into macros

Make the lives of __of_overlay_apply_kunit() callers easier by
extracting some of the boiler plate involved in referencing the DT
overlays.

Cc: Brendan Higgins <brendan.higgins@linux.dev>
Cc: David Gow <davidgow@google.com>
Cc: Rae Moar <rmoar@google.com>
Cc: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Link: https://lore.kernel.org/r/20240822002433.1163814-3-sboyd@kernel.org
This commit is contained in:
Stephen Boyd 2024-08-21 17:24:29 -07:00
parent a82fcb16d9
commit 00977af421

View File

@ -62,6 +62,13 @@ static inline int __of_overlay_apply_kunit(struct kunit *test,
&unused); &unused);
} }
#define of_overlay_begin(overlay_name) __dtbo_##overlay_name##_begin
#define of_overlay_end(overlay_name) __dtbo_##overlay_name##_end
#define OF_OVERLAY_DECLARE(overlay_name) \
extern uint8_t of_overlay_begin(overlay_name)[]; \
extern uint8_t of_overlay_end(overlay_name)[] \
/** /**
* of_overlay_apply_kunit() - Test managed of_overlay_fdt_apply() for built-in overlays * of_overlay_apply_kunit() - Test managed of_overlay_fdt_apply() for built-in overlays
* @test: test context * @test: test context
@ -104,12 +111,11 @@ static inline int __of_overlay_apply_kunit(struct kunit *test,
*/ */
#define of_overlay_apply_kunit(test, overlay_name) \ #define of_overlay_apply_kunit(test, overlay_name) \
({ \ ({ \
extern uint8_t __dtbo_##overlay_name##_begin[]; \ OF_OVERLAY_DECLARE(overlay_name); \
extern uint8_t __dtbo_##overlay_name##_end[]; \
\ \
__of_overlay_apply_kunit((test), \ __of_overlay_apply_kunit((test), \
__dtbo_##overlay_name##_begin, \ of_overlay_begin(overlay_name), \
__dtbo_##overlay_name##_end); \ of_overlay_end(overlay_name)); \
}) })
#endif #endif