
From: Simon Glass <sjg@chromium.org> The API is not very useful these days, since it doesn't support driver model. It is laborious to add new functions to the API as there are so many needed. A better approach would be to create a library containing all of U-Boot, then have the API be generated by a script containing a list of functions, perhaps with wildcards. Then a stub could be created, with a list of entry points, which links with and calls through into the library. In preparation for heading in this direction, rename some of the existing files and directories: - examples/api -> examples/legacy_api - include/api*.h -> include/legacy_api*.h - API_BUILD to LEGACY_API_BUILD Co-developed-by: Claude <noreply@anthropic.com> Signed-off-by: Simon Glass <sjg@chromium.org> --- api/api.c | 2 +- api/api_display.c | 2 +- api/api_net.c | 2 +- api/api_platform-arm.c | 2 +- api/api_platform-mips.c | 2 +- api/api_platform-powerpc.c | 2 +- api/api_storage.c | 2 +- common/board_r.c | 2 +- examples/{api => legacy_api}/.gitignore | 0 examples/{api => legacy_api}/Makefile | 8 ++++---- examples/{api => legacy_api}/crt0.S | 0 examples/{api => legacy_api}/demo.c | 2 +- examples/{api => legacy_api}/glue.c | 2 +- examples/{api => legacy_api}/glue.h | 0 examples/{api => legacy_api}/libgenwrap.c | 2 +- include/{api.h => legacy_api.h} | 4 ++-- include/{api_public.h => legacy_api_public.h} | 6 +++--- lib/Makefile | 2 +- lib/vsprintf.c | 6 +++--- test/common/print.c | 2 +- test/lib/unicode.c | 2 +- 21 files changed, 26 insertions(+), 26 deletions(-) rename examples/{api => legacy_api}/.gitignore (100%) rename examples/{api => legacy_api}/Makefile (87%) rename examples/{api => legacy_api}/crt0.S (100%) rename examples/{api => legacy_api}/demo.c (99%) rename examples/{api => legacy_api}/glue.c (99%) rename examples/{api => legacy_api}/glue.h (100%) rename examples/{api => legacy_api}/libgenwrap.c (96%) rename include/{api.h => legacy_api.h} (89%) rename include/{api_public.h => legacy_api_public.h} (96%) diff --git a/api/api.c b/api/api.c index b892c5c278a..458eaf0c5a4 100644 --- a/api/api.c +++ b/api/api.c @@ -15,7 +15,7 @@ #include <linux/delay.h> #include <linux/errno.h> #include <linux/types.h> -#include <api_public.h> +#include <legacy_api_public.h> #include <u-boot/crc.h> #include "api_private.h" diff --git a/api/api_display.c b/api/api_display.c index 8fd078c8c4a..83ff89d3680 100644 --- a/api/api_display.c +++ b/api/api_display.c @@ -3,7 +3,7 @@ * Copyright (c) 2011 The Chromium OS Authors. */ -#include <api_public.h> +#include <legacy_api_public.h> #include <log.h> #include <linux/types.h> diff --git a/api/api_net.c b/api/api_net.c index 264ff530563..0bedcce4df5 100644 --- a/api/api_net.c +++ b/api/api_net.c @@ -8,7 +8,7 @@ #include <config.h> #include <net.h> #include <linux/types.h> -#include <api_public.h> +#include <legacy_api_public.h> #define DEBUG #undef DEBUG diff --git a/api/api_platform-arm.c b/api/api_platform-arm.c index 9afba66c244..3d2a3e0bd45 100644 --- a/api/api_platform-arm.c +++ b/api/api_platform-arm.c @@ -10,7 +10,7 @@ #include <config.h> #include <linux/types.h> -#include <api_public.h> +#include <legacy_api_public.h> #include <asm/global_data.h> diff --git a/api/api_platform-mips.c b/api/api_platform-mips.c index 262b35a2777..b5632320290 100644 --- a/api/api_platform-mips.c +++ b/api/api_platform-mips.c @@ -7,7 +7,7 @@ #include <config.h> #include <linux/types.h> -#include <api_public.h> +#include <legacy_api_public.h> #include <asm/global_data.h> diff --git a/api/api_platform-powerpc.c b/api/api_platform-powerpc.c index 2c1ab043af6..6b76afd955f 100644 --- a/api/api_platform-powerpc.c +++ b/api/api_platform-powerpc.c @@ -10,7 +10,7 @@ #include <config.h> #include <linux/types.h> -#include <api_public.h> +#include <legacy_api_public.h> #include <asm/global_data.h> diff --git a/api/api_storage.c b/api/api_storage.c index c663e7df942..23f043fbb5d 100644 --- a/api/api_storage.c +++ b/api/api_storage.c @@ -6,7 +6,7 @@ */ #include <config.h> -#include <api_public.h> +#include <legacy_api_public.h> #include <part.h> #include <scsi.h> #include <linux/types.h> diff --git a/common/board_r.c b/common/board_r.c index ca1498de11e..a141312f918 100644 --- a/common/board_r.c +++ b/common/board_r.c @@ -10,7 +10,7 @@ */ #include <config.h> -#include <api.h> +#include <legacy_api.h> #include <bootstage.h> #include <cpu_func.h> #include <cyclic.h> diff --git a/examples/api/.gitignore b/examples/legacy_api/.gitignore similarity index 100% rename from examples/api/.gitignore rename to examples/legacy_api/.gitignore diff --git a/examples/api/Makefile b/examples/legacy_api/Makefile similarity index 87% rename from examples/api/Makefile rename to examples/legacy_api/Makefile index ec1643e4875..07a31e219b6 100644 --- a/examples/api/Makefile +++ b/examples/legacy_api/Makefile @@ -2,8 +2,8 @@ # # (C) Copyright 2007 Semihalf -# Provide symbol API_BUILD to signal that the API example is being built. -KBUILD_CPPFLAGS += -DAPI_BUILD +# Provide symbol LEGACY_API_BUILD to signal that the legacy API example is being built. +KBUILD_CPPFLAGS += -DLEGACY_API_BUILD ifeq ($(ARCH),powerpc) LOAD_ADDR = 0x40000 @@ -26,13 +26,13 @@ endif # Resulting ELF and binary exectuables will be named demo and demo.bin extra-y = demo -# Source files located in the examples/api directory +# Source files located in the examples/legacy_api directory OBJ-y += crt0.o OBJ-y += demo.o OBJ-y += glue.o OBJ-y += libgenwrap.o -# Source files which exist outside the examples/api directory +# Source files which exist outside the examples/legacy_api directory EXT_COBJ-y += lib/crc32.o EXT_COBJ-y += lib/ctype.o EXT_COBJ-y += lib/div64.o diff --git a/examples/api/crt0.S b/examples/legacy_api/crt0.S similarity index 100% rename from examples/api/crt0.S rename to examples/legacy_api/crt0.S diff --git a/examples/api/demo.c b/examples/legacy_api/demo.c similarity index 99% rename from examples/api/demo.c rename to examples/legacy_api/demo.c index 9a55f76c504..ea1a8746812 100644 --- a/examples/api/demo.c +++ b/examples/legacy_api/demo.c @@ -8,7 +8,7 @@ #include <stdio.h> #include <env.h> #include <linux/types.h> -#include <api_public.h> +#include <legacy_api_public.h> #include "glue.h" diff --git a/examples/api/glue.c b/examples/legacy_api/glue.c similarity index 99% rename from examples/api/glue.c rename to examples/legacy_api/glue.c index 478f7b6cfb4..4f7012ea730 100644 --- a/examples/api/glue.c +++ b/examples/legacy_api/glue.c @@ -5,7 +5,7 @@ #include <env.h> #include <linux/types.h> -#include <api_public.h> +#include <legacy_api_public.h> #include <u-boot/crc.h> #include "glue.h" diff --git a/examples/api/glue.h b/examples/legacy_api/glue.h similarity index 100% rename from examples/api/glue.h rename to examples/legacy_api/glue.h diff --git a/examples/api/libgenwrap.c b/examples/legacy_api/libgenwrap.c similarity index 96% rename from examples/api/libgenwrap.c rename to examples/legacy_api/libgenwrap.c index bfd88e100d6..9ada33fb15b 100644 --- a/examples/api/libgenwrap.c +++ b/examples/legacy_api/libgenwrap.c @@ -13,7 +13,7 @@ #include <hang.h> #include <linux/delay.h> #include <linux/types.h> -#include <api_public.h> +#include <legacy_api_public.h> #include "glue.h" diff --git a/include/api.h b/include/legacy_api.h similarity index 89% rename from include/api.h rename to include/legacy_api.h index 83412a7c87f..85bd80b2e33 100644 --- a/include/api.h +++ b/include/legacy_api.h @@ -4,8 +4,8 @@ * Written by Simon Glass <sjg@chromium.org> */ -#ifndef __API_H -#define __API_H +#ifndef __LEGACY_API_H +#define __LEGACY_API_H /** * api_init() - Initialize API for external applications diff --git a/include/api_public.h b/include/legacy_api_public.h similarity index 96% rename from include/api_public.h rename to include/legacy_api_public.h index e89572c00a4..d8bb5807460 100644 --- a/include/api_public.h +++ b/include/legacy_api_public.h @@ -5,8 +5,8 @@ * Written by: Rafal Jaworowski <raj@semihalf.com> */ -#ifndef _API_PUBLIC_H_ -#define _API_PUBLIC_H_ +#ifndef _LEGACY_API_PUBLIC_H_ +#define _LEGACY_API_PUBLIC_H_ #include <linux/types.h> @@ -139,4 +139,4 @@ struct display_info { int screen_cols; }; -#endif /* _API_PUBLIC_H_ */ +#endif /* _LEGACY_API_PUBLIC_H_ */ diff --git a/lib/Makefile b/lib/Makefile index af191913873..1db1e3c9000 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -23,7 +23,7 @@ obj-$(CONFIG_AES) += aes.o obj-$(CONFIG_AES) += aes/ obj-$(CONFIG_$(PHASE_)BINMAN_FDT) += binman.o -ifndef API_BUILD +ifndef LEGACY_API_BUILD ifneq ($(CONFIG_CHARSET),) obj-y += charset.o endif diff --git a/lib/vsprintf.c b/lib/vsprintf.c index c7340a047b2..c072b44140b 100644 --- a/lib/vsprintf.c +++ b/lib/vsprintf.c @@ -308,7 +308,7 @@ static __maybe_unused char *string16(char *buf, char *end, u16 *s, return buf; } -#if CONFIG_IS_ENABLED(EFI_DEVICE_PATH_TO_TEXT) && !defined(API_BUILD) +#if CONFIG_IS_ENABLED(EFI_DEVICE_PATH_TO_TEXT) && !defined(LEGACY_API_BUILD) static char *device_path_string(char *buf, char *end, void *dp, int field_width, int precision, int flags) { @@ -469,7 +469,7 @@ static char *pointer(const char *fmt, char *buf, char *end, void *ptr, switch (*fmt) { /* Device paths only exist in the EFI context. */ -#if CONFIG_IS_ENABLED(EFI_DEVICE_PATH_TO_TEXT) && !defined(API_BUILD) +#if CONFIG_IS_ENABLED(EFI_DEVICE_PATH_TO_TEXT) && !defined(LEGACY_API_BUILD) case 'D': return device_path_string(buf, end, ptr, field_width, precision, flags); @@ -630,7 +630,7 @@ repeat: case 's': /* U-Boot uses UTF-16 strings in the EFI context only. */ #if (CONFIG_IS_ENABLED(EFI_LOADER) || IS_ENABLED(CONFIG_EFI_APP)) && \ - !defined(API_BUILD) + !defined(LEGACY_API_BUILD) if (qualifier == 'l') { str = string16(str, end, va_arg(args, u16 *), field_width, precision, flags); diff --git a/test/common/print.c b/test/common/print.c index c48efc2783f..3fe24dc3e9d 100644 --- a/test/common/print.c +++ b/test/common/print.c @@ -59,7 +59,7 @@ static int print_guid(struct unit_test_state *uts) COMMON_TEST(print_guid, 0); #endif -#if CONFIG_IS_ENABLED(EFI_LOADER) && !defined(API_BUILD) +#if CONFIG_IS_ENABLED(EFI_LOADER) && !defined(LEGACY_API_BUILD) /* Test efi_loader specific printing */ static int print_efi_ut(struct unit_test_state *uts) { diff --git a/test/lib/unicode.c b/test/lib/unicode.c index 673470c8d2c..5bd3629b153 100644 --- a/test/lib/unicode.c +++ b/test/lib/unicode.c @@ -100,7 +100,7 @@ static int unicode_test_u16_strcpy(struct unit_test_state *uts) LIB_TEST(unicode_test_u16_strcpy, 0); /* U-Boot uses UTF-16 strings in the EFI context only. */ -#if CONFIG_IS_ENABLED(EFI_LOADER) && !defined(API_BUILD) +#if CONFIG_IS_ENABLED(EFI_LOADER) && !defined(LEGACY_API_BUILD) static int unicode_test_string16(struct unit_test_state *uts) { char buf[20]; -- 2.43.0