X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=include%2Fdebug_uart.h;h=4d1c58075cf0de33ed126582fe1d2d876353e8b4;hb=d181191e1215204d825db7837ed2c64a5196a734;hp=6f0b0c5e1575a0fabd81cea633d6b3daad5a7e8a;hpb=22f3368e71321db1e0e15dfbf54b052367890ec7;p=oweals%2Fu-boot.git diff --git a/include/debug_uart.h b/include/debug_uart.h index 6f0b0c5e15..4d1c58075c 100644 --- a/include/debug_uart.h +++ b/include/debug_uart.h @@ -1,10 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ /* * Early debug UART support * * (C) Copyright 2014 Google, Inc * Writte by Simon Glass - * - * SPDX-License-Identifier: GPL-2.0+ */ #ifndef _DEBUG_UART_H @@ -89,21 +88,28 @@ void printascii(const char *str); * * @value: Value to output */ -void printhex2(uint value); +void printhex2(unsigned int value); /** * printhex4() - Output a 4-digit hex value * * @value: Value to output */ -void printhex4(uint value); +void printhex4(unsigned int value); /** * printhex8() - Output a 8-digit hex value * * @value: Value to output */ -void printhex8(uint value); +void printhex8(unsigned int value); + +/** + * printdec() - Output a decimalism value + * + * @value: Value to output + */ +void printdec(unsigned int value); #ifdef CONFIG_DEBUG_UART_ANNOUNCE #define _DEBUG_UART_ANNOUNCE printascii(" "); @@ -145,32 +151,44 @@ void printhex8(uint value); _printch(*str++); \ } \ \ - static inline void printhex1(uint digit) \ + static inline void printhex1(unsigned int digit) \ { \ digit &= 0xf; \ _debug_uart_putc(digit > 9 ? digit - 10 + 'a' : digit + '0'); \ } \ \ - static inline void printhex(uint value, int digits) \ + static inline void printhex(unsigned int value, int digits) \ { \ while (digits-- > 0) \ printhex1(value >> (4 * digits)); \ } \ \ - void printhex2(uint value) \ + void printhex2(unsigned int value) \ { \ printhex(value, 2); \ } \ \ - void printhex4(uint value) \ + void printhex4(unsigned int value) \ { \ printhex(value, 4); \ } \ \ - void printhex8(uint value) \ + void printhex8(unsigned int value) \ { \ printhex(value, 8); \ } \ +\ + void printdec(unsigned int value) \ + { \ + if (value > 10) { \ + printdec(value / 10); \ + value %= 10; \ + } else if (value == 10) { \ + _debug_uart_putc('1'); \ + value = 0; \ + } \ + _debug_uart_putc('0' + value); \ + } \ \ void debug_uart_init(void) \ { \