Commit 00977af4 authored by Stephen Boyd's avatar Stephen Boyd
Browse files

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: default avatarStephen Boyd <sboyd@kernel.org>
Link: https://lore.kernel.org/r/20240822002433.1163814-3-sboyd@kernel.org
parent a82fcb16
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -62,6 +62,13 @@ static inline int __of_overlay_apply_kunit(struct kunit *test,
					  &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
 * @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)		\
({								\
	extern uint8_t __dtbo_##overlay_name##_begin[];		\
	extern uint8_t __dtbo_##overlay_name##_end[];		\
	OF_OVERLAY_DECLARE(overlay_name);			\
								\
	__of_overlay_apply_kunit((test),			\
			__dtbo_##overlay_name##_begin,		\
			__dtbo_##overlay_name##_end);		\
			of_overlay_begin(overlay_name),		\
			of_overlay_end(overlay_name));		\
})

#endif