[v3,09/18] debug_uart: Add printdec

Message ID 20190715182856.21688-10-jagan@amarulasolutions.com
State New
Headers show
Series
  • ram: rk3399: Add rank detection
Related show

Commit Message

Jagan Teki July 15, 2019, 6:28 p.m. UTC
Add printdec, this would help to print an
output a decimalism value.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: YouMin Chen <cym@rock-chips.com>
---
 include/debug_uart.h | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

Comments

Kever Yang July 16, 2019, 7:41 a.m. UTC | #1
On 2019/7/16 上午2:28, Jagan Teki wrote:
> Add printdec, this would help to print an
> output a decimalism value.
>
> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
> Signed-off-by: YouMin Chen <cym@rock-chips.com>

Reviewed-by: Kever Yang <Kever.yang@rock-chips.com>

Thanks,
  - Kever
> ---
>   include/debug_uart.h | 19 +++++++++++++++++++
>   1 file changed, 19 insertions(+)
>
> diff --git a/include/debug_uart.h b/include/debug_uart.h
> index 34e8b2fc81..cd70ae1a04 100644
> --- a/include/debug_uart.h
> +++ b/include/debug_uart.h
> @@ -104,6 +104,13 @@ void printhex4(uint value);
>    */
>   void printhex8(uint value);
>   
> +/**
> + * printdec() - Output a decimalism value
> + *
> + * @value:	Value to output
> + */
> +void printdec(uint value);
> +
>   #ifdef CONFIG_DEBUG_UART_ANNOUNCE
>   #define _DEBUG_UART_ANNOUNCE	printascii("<debug_uart> ");
>   #else
> @@ -170,6 +177,18 @@ void printhex8(uint value);
>   	{ \
>   		printhex(value, 8); \
>   	} \
> +\
> +	void printdec(uint 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) \
>   	{ \

Patch

diff --git a/include/debug_uart.h b/include/debug_uart.h
index 34e8b2fc81..cd70ae1a04 100644
--- a/include/debug_uart.h
+++ b/include/debug_uart.h
@@ -104,6 +104,13 @@  void printhex4(uint value);
  */
 void printhex8(uint value);
 
+/**
+ * printdec() - Output a decimalism value
+ *
+ * @value:	Value to output
+ */
+void printdec(uint value);
+
 #ifdef CONFIG_DEBUG_UART_ANNOUNCE
 #define _DEBUG_UART_ANNOUNCE	printascii("<debug_uart> ");
 #else
@@ -170,6 +177,18 @@  void printhex8(uint value);
 	{ \
 		printhex(value, 8); \
 	} \
+\
+	void printdec(uint 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) \
 	{ \