From: Rasmus Villemoes Date: Mon, 23 Mar 2026 08:39:28 +0000 (+0100) Subject: linker_lists.h: drop never used ll_start, ll_end macros X-Git-Tag: v2026.07-rc1~88^2 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=e2138cf1e6088f12ffa874e87cc8f4b198378635;p=thirdparty%2Fu-boot.git linker_lists.h: drop never used ll_start, ll_end macros These macros have AFAICT never been used at all. It's also far from clear what purpose it could serve - for one thing, what _type would one pass, other than void perhaps? The example using "struct my_sub_cmd" seems misplaced, as how could one know that the first linker list consists of those, and moreover, how would one know how many there are? The linker list concept is fragile enough on its own, there is no need to have unused functionality lying around that may or may not bitrot and certainly will confuse readers of linker_lists.h. Signed-off-by: Rasmus Villemoes Reviewed-by: Simon Glass --- diff --git a/include/linker_lists.h b/include/linker_lists.h index 0f4a2d686e2..78ba937c8c3 100644 --- a/include/linker_lists.h +++ b/include/linker_lists.h @@ -288,56 +288,6 @@ #define ll_entry_ref(_type, _name, _list) \ ((_type *)&_u_boot_list_2_##_list##_2_##_name) -/** - * ll_start() - Point to first entry of first linker-generated array - * @_type: Data type of the entry - * - * This function returns ``(_type *)`` pointer to the very first entry of - * the very first linker-generated array. - * - * Since this macro defines the start of the linker-generated arrays, - * its leftmost index must be 1. - * - * Example: - * - * :: - * - * struct my_sub_cmd *msc = ll_start(struct my_sub_cmd); - */ -#define ll_start(_type) \ -({ \ - static char start[0] __aligned(4) __attribute__((unused)) \ - __section("__u_boot_list_1"); \ - _type * tmp = (_type *)&start; \ - asm("":"+r"(tmp)); \ - tmp; \ -}) - -/** - * ll_end() - Point after last entry of last linker-generated array - * @_type: Data type of the entry - * - * This function returns ``(_type *)`` pointer after the very last entry of - * the very last linker-generated array. - * - * Since this macro defines the end of the linker-generated arrays, - * its leftmost index must be 3. - * - * Example: - * - * :: - * - * struct my_sub_cmd *msc = ll_end(struct my_sub_cmd); - */ -#define ll_end(_type) \ -({ \ - static char end[0] __aligned(4) __attribute__((unused)) \ - __section("__u_boot_list_3"); \ - _type * tmp = (_type *)&end; \ - asm("":"+r"(tmp)); \ - tmp; \ -}) - #endif /* __ASSEMBLY__ */ #endif /* __LINKER_LISTS_H__ */