blob: c1afa5bc09a1f155fd957ce1a6a3cb12c1bffa9b [file] [log] [blame]
Rafal Jaworowskia19be782008-01-09 19:39:36 +01001/*
2 * (C) Copyright 2007 Semihalf
3 *
4 * Written by: Rafal Jaworowski <raj@semihalf.com>
5 *
Wolfgang Denkd79de1d2013-07-08 09:37:19 +02006 * SPDX-License-Identifier: GPL-2.0+
Rafal Jaworowskia19be782008-01-09 19:39:36 +01007 *
8 * This is is a set of wrappers/stubs that allow to use certain routines from
Peter Tyser685b7f52010-04-12 22:28:05 -05009 * U-Boot's lib in the standalone app. This way way we can re-use
Rafal Jaworowskia19be782008-01-09 19:39:36 +010010 * existing code e.g. operations on strings and similar.
Rafal Jaworowskia19be782008-01-09 19:39:36 +010011 */
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 */
Wolfgang Denk318ef5c2010-06-20 17:14:14 +020022int printf (const char *fmt, ...)
Rafal Jaworowskia19be782008-01-09 19:39:36 +010023{
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);
Wolfgang Denk318ef5c2010-06-20 17:14:14 +020038 return i;
Rafal Jaworowskia19be782008-01-09 19:39:36 +010039}
40
Wolfgang Denk318ef5c2010-06-20 17:14:14 +020041int vprintf (const char *fmt, va_list args)
Rafal Jaworowskia19be782008-01-09 19:39:36 +010042{
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);
Wolfgang Denk318ef5c2010-06-20 17:14:14 +020053 return i;
Rafal Jaworowskia19be782008-01-09 19:39:36 +010054}
55
56void putc (const char c)
57{
58 ub_putc(c);
59}
60
Ingo van Lilf0f778a2009-11-24 14:09:21 +010061void __udelay(unsigned long usec)
Rafal Jaworowskia19be782008-01-09 19:39:36 +010062{
63 ub_udelay(usec);
64}
65
Mike Frysinger1f0a7e32010-12-19 17:16:53 -050066int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
Rafal Jaworowskia19be782008-01-09 19:39:36 +010067{
68 ub_reset();
Mike Frysinger1f0a7e32010-12-19 17:16:53 -050069 return 0;
Rafal Jaworowskia19be782008-01-09 19:39:36 +010070}
71
Rafal Jaworowski35e4e8d2008-01-29 17:00:34 +010072void *malloc (size_t len)
Rafal Jaworowskia19be782008-01-09 19:39:36 +010073{
74 return NULL;
75}
Rafal Jaworowski35e4e8d2008-01-29 17:00:34 +010076
77void hang (void)
78{
79 while (1) ;
80}