#include <env.h>
#include <malloc.h>
#include <env_internal.h>
+#include <linux/delay.h>
#include <linux/types.h>
#include <api_public.h>
+#include <u-boot/crc.h>
#include "api_private.h"
if ((c = (int *)va_arg(ap, uintptr_t)) == NULL)
return API_EINVAL;
- *c = getc();
+ *c = getchar();
return 0;
}
return 1;
}
-void api_init(void)
+int api_init(void)
{
struct api_signature *sig;
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);
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,