1 /* 2 * (C) Copyright 2007 Semihalf 3 * 4 * Written by: Rafal Jaworowski <raj@semihalf.com> 5 * 6 * SPDX-License-Identifier: GPL-2.0+ 7 * 8 * This is is a set of wrappers/stubs that allow to use certain routines from 9 * U-Boot's lib in the standalone app. This way way we can re-use 10 * existing code e.g. operations on strings and similar. 11 */ 12 13 #include <common.h> 14 #include <linux/types.h> 15 #include <api_public.h> 16 17 #include "glue.h" 18 19 /* 20 * printf() and vprintf() are stolen from u-boot/common/console.c 21 */ 22 int printf (const char *fmt, ...) 23 { 24 va_list args; 25 uint i; 26 char printbuffer[256]; 27 28 va_start (args, fmt); 29 30 /* For this to work, printbuffer must be larger than 31 * anything we ever want to print. 32 */ 33 i = vsprintf (printbuffer, fmt, args); 34 va_end (args); 35 36 /* Print the string */ 37 ub_puts (printbuffer); 38 return i; 39 } 40 41 int vprintf (const char *fmt, va_list args) 42 { 43 uint i; 44 char printbuffer[256]; 45 46 /* For this to work, printbuffer must be larger than 47 * anything we ever want to print. 48 */ 49 i = vsprintf (printbuffer, fmt, args); 50 51 /* Print the string */ 52 ub_puts (printbuffer); 53 return i; 54 } 55 56 void putc (const char c) 57 { 58 ub_putc(c); 59 } 60 61 void __udelay(unsigned long usec) 62 { 63 ub_udelay(usec); 64 } 65 66 int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) 67 { 68 ub_reset(); 69 return 0; 70 } 71 72 void *malloc (size_t len) 73 { 74 return NULL; 75 } 76 77 void hang (void) 78 { 79 while (1) ; 80 } 81