[PATCH 34.4 v2 5/6] LEON3: debugputs removed pointless isinit code, invoked only once
Joel Sherrill
joel.sherrill at OARcorp.com
Thu Apr 19 13:27:45 UTC 2012
Looks OK
On 04/19/2012 08:21 AM, Daniel Hellstrom wrote:
> Signed-off-by: Daniel Hellstrom<daniel at gaisler.com>
> ---
> c/src/lib/libbsp/sparc/leon3/console/debugputs.c | 60 +++++++++------------
> 1 files changed, 26 insertions(+), 34 deletions(-)
>
> diff --git a/c/src/lib/libbsp/sparc/leon3/console/debugputs.c b/c/src/lib/libbsp/sparc/leon3/console/debugputs.c
> index a189f5b..7058cf8 100644
> --- a/c/src/lib/libbsp/sparc/leon3/console/debugputs.c
> +++ b/c/src/lib/libbsp/sparc/leon3/console/debugputs.c
> @@ -21,8 +21,6 @@
> #include<assert.h>
> #include<stdio.h>
>
> -static int isinit = 0;
> -
> /* Let user override which on-chip APBUART will be debug UART
> * 0 = Default APBUART. On MP system CPU0=APBUART0, CPU1=APBUART1...
> * 1 = APBUART[0]
> @@ -50,44 +48,38 @@ int bsp_debug_uart_init(void)
> struct ambapp_dev *adev;
> struct ambapp_apb_info *apb;
>
> - if (isinit == 0) {
> - /* Update debug_uart_index to index used as debug console.
> - * Let user select Debug console by setting debug_uart_index. If the
> - * BSP is to provide the default UART (debug_uart_index==0):
> - * non-MP: APBUART[0] is debug console
> - * MP: LEON CPU index select UART
> - */
> - if (debug_uart_index == 0) {
> + /* Update debug_uart_index to index used as debug console.
> + * Let user select Debug console by setting debug_uart_index. If the
> + * BSP is to provide the default UART (debug_uart_index==0):
> + * non-MP: APBUART[0] is debug console
> + * MP: LEON CPU index select UART
> + */
> + if (debug_uart_index == 0) {
> #if defined(RTEMS_MULTIPROCESSING)
> - debug_uart_index = LEON3_Cpu_Index;
> + debug_uart_index = LEON3_Cpu_Index;
> #else
> - debug_uart_index = 0;
> + debug_uart_index = 0;
> #endif
> - } else {
> - debug_uart_index = debug_uart_index - 1; /* User selected dbg-console */
> - }
> -
> - /* Find APBUART core for System Debug Console */
> - i = debug_uart_index;
> - adev = (void *)ambapp_for_each(&ambapp_plb, (OPTIONS_ALL|OPTIONS_APB_SLVS),
> - VENDOR_GAISLER, GAISLER_APBUART,
> - ambapp_find_by_idx, (void *)&i);
> - if (adev) {
> - /* Found a matching debug console, initialize debug uart if present
> - * for printk
> - */
> - apb = (struct ambapp_apb_info *)adev->devinfo;
> - dbg_uart = (ambapp_apb_uart *)apb->start;
> - dbg_uart->ctrl |= LEON_REG_UART_CTRL_RE | LEON_REG_UART_CTRL_TE;
> - dbg_uart->status = 0;
> - }
> - isinit = 1;
> + } else {
> + debug_uart_index = debug_uart_index - 1; /* User selected dbg-console */
> }
>
> - if (dbg_uart == NULL)
> - return 0;
> - else
> + /* Find APBUART core for System Debug Console */
> + i = debug_uart_index;
> + adev = (void *)ambapp_for_each(&ambapp_plb, (OPTIONS_ALL|OPTIONS_APB_SLVS),
> + VENDOR_GAISLER, GAISLER_APBUART,
> + ambapp_find_by_idx, (void *)&i);
> + if (adev) {
> + /* Found a matching debug console, initialize debug uart if present
> + * for printk
> + */
> + apb = (struct ambapp_apb_info *)adev->devinfo;
> + dbg_uart = (ambapp_apb_uart *)apb->start;
> + dbg_uart->ctrl |= LEON_REG_UART_CTRL_RE | LEON_REG_UART_CTRL_TE;
> + dbg_uart->status = 0;
> return 1;
> + } else
> + return 0;
> }
>
> /*
--
Joel Sherrill, Ph.D. Director of Research& Development
joel.sherrill at OARcorp.com On-Line Applications Research
Ask me about RTEMS: a free RTOS Huntsville AL 35805
Support Available (256) 722-9985
More information about the devel
mailing list