From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ovidiu Panait Date: Thu, 5 Nov 2020 11:09:51 +0200 Subject: [PATCH 14/18] common: board_r: Drop initr_api wrapper In-Reply-To: <20201105090955.29641-1-ovidiu.panait@windriver.com> References: <20201105090955.29641-1-ovidiu.panait@windriver.com> Message-ID: <20201105090955.29641-15-ovidiu.panait@windriver.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Add a return value to api_init and use it directly in the post-relocation init sequence, rather than using a wrapper stub. Signed-off-by: Ovidiu Panait --- api/api.c | 6 ++++-- api/api_private.h | 2 +- common/board_r.c | 11 +---------- include/api.h | 2 +- 4 files changed, 7 insertions(+), 14 deletions(-) diff --git a/api/api.c b/api/api.c index 493b77f809..89003c161c 100644 --- a/api/api.c +++ b/api/api.c @@ -642,7 +642,7 @@ int syscall(int call, int *retval, ...) return 1; } -void api_init(void) +int api_init(void) { struct api_signature *sig; @@ -679,7 +679,7 @@ void api_init(void) sig = malloc(sizeof(struct api_signature)); if (sig == NULL) { printf("API: could not allocate memory for the signature!\n"); - return; + return -ENOMEM; } env_set_hex("api_address", (unsigned long)sig); @@ -691,6 +691,8 @@ void api_init(void) sig->checksum = crc32(0, (unsigned char *)sig, sizeof(struct api_signature)); debugf("syscall entry: 0x%lX\n", (unsigned long)sig->syscall); + + return 0; } void platform_set_mr(struct sys_info *si, unsigned long start, unsigned long size, diff --git a/api/api_private.h b/api/api_private.h index 07fd50ad3a..bb23821c2c 100644 --- a/api/api_private.h +++ b/api/api_private.h @@ -8,7 +8,7 @@ #ifndef _API_PRIVATE_H_ #define _API_PRIVATE_H_ -void api_init(void); +int api_init(void); void platform_set_mr(struct sys_info *, unsigned long, unsigned long, int); int platform_sys_info(struct sys_info *); diff --git a/common/board_r.c b/common/board_r.c index cb9b2424d1..b2d8331d6b 100644 --- a/common/board_r.c +++ b/common/board_r.c @@ -481,15 +481,6 @@ static int initr_malloc_bootparams(void) } #endif -#if defined(CONFIG_API) -static int initr_api(void) -{ - /* Initialize API */ - api_init(); - return 0; -} -#endif - #ifdef CONFIG_CMD_NET static int initr_ethaddr(void) { @@ -744,7 +735,7 @@ static init_fnc_t init_sequence_r[] = { stdio_add_devices, jumptable_init, #ifdef CONFIG_API - initr_api, + api_init, #endif console_init_r, /* fully init console as a device */ #ifdef CONFIG_DISPLAY_BOARDINFO_LATE diff --git a/include/api.h b/include/api.h index 84d81dc817..5370fd5d40 100644 --- a/include/api.h +++ b/include/api.h @@ -7,6 +7,6 @@ #ifndef __API_H #define __API_H -void api_init(void); +int api_init(void); #endif -- 2.17.1