[U-Boot] [PATCH 06/10] debug_uart: Adjust the declaration of debug_uart_init()

Simon Glass sjg at chromium.org
Sun Oct 18 14:18:07 CEST 2015


Hi Bin,

On 14 September 2015 at 06:16, Bin Meng <bmeng.cn at gmail.com> wrote:
> Hi Simon,
>
> On Wed, Sep 9, 2015 at 7:52 AM, Simon Glass <sjg at chromium.org> wrote:
>> We want to be able to add other common code to this function. So change the
>> driver's version to have an underscore before it, just like
>> _debug_uart_putc(). Define debug_uart_init() to call this version.
>>
>> Update all drivers to this new method.
>>
>> Signed-off-by: Simon Glass <sjg at chromium.org>
>> ---
>>
>>  drivers/serial/ns16550.c    | 2 +-
>>  drivers/serial/serial_efi.c | 2 +-
>>  drivers/serial/serial_s5p.c | 2 +-
>>  include/debug_uart.h        | 9 +++++++--
>>  lib/efi/efi_stub.c          | 2 +-
>>  5 files changed, 11 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
>> index 6275a11..6433844 100644
>> --- a/drivers/serial/ns16550.c
>> +++ b/drivers/serial/ns16550.c
>> @@ -257,7 +257,7 @@ int NS16550_tstc(NS16550_t com_port)
>>                         (1 << CONFIG_DEBUG_UART_SHIFT), \
>>                 CONFIG_DEBUG_UART_SHIFT)
>>
>> -void debug_uart_init(void)
>> +static inline void _debug_uart_init(void)
>
> Is this 'static inline' change needed? As I don't see the same changes
> applied to serial_efi.c and serial_s5p.c

Yes I've added it to those two - it is not essential but I think it
makes sense since there is only one declaration and we want to avoid
unnecessary function calls.

>
>>  {
>>         struct NS16550 *com_port = (struct NS16550 *)CONFIG_DEBUG_UART_BASE;
>>         int baud_divisor;
>> diff --git a/drivers/serial/serial_efi.c b/drivers/serial/serial_efi.c
>> index cf57d89..ee3029b 100644
>> --- a/drivers/serial/serial_efi.c
>> +++ b/drivers/serial/serial_efi.c
>> @@ -107,7 +107,7 @@ static int serial_efi_pending(struct udevice *dev, bool input)
>>   * There is nothing to init here since the EFI console is already running by
>>   * the time we enter U-Boot.
>>   */
>> -void debug_uart_init(void)
>> +void _debug_uart_init(void)
>>  {
>>  }
>>
>> diff --git a/drivers/serial/serial_s5p.c b/drivers/serial/serial_s5p.c
>> index 3f0b588..e7adf0d 100644
>> --- a/drivers/serial/serial_s5p.c
>> +++ b/drivers/serial/serial_s5p.c
>> @@ -207,7 +207,7 @@ U_BOOT_DRIVER(serial_s5p) = {
>>
>>  #include <debug_uart.h>
>>
>> -void debug_uart_init(void)
>> +void _debug_uart_init(void)
>>  {
>>         struct s5p_uart *uart = (struct s5p_uart *)CONFIG_DEBUG_UART_BASE;
>>
>> diff --git a/include/debug_uart.h b/include/debug_uart.h
>> index a75e377..257ba00 100644
>> --- a/include/debug_uart.h
>> +++ b/include/debug_uart.h
>> @@ -38,7 +38,7 @@
>>   * To enable the debug UART in your serial driver:
>>   *
>>   * - #include <debug_uart.h>
>> - * - Define debug_uart_init(), trying to avoid using the stack
>> + * - Define _debug_uart_init(), trying to avoid using the stack
>>   * - Define _debug_uart_putc() as static inline (avoiding stack usage)
>>   * - Immediately afterwards, add DEBUG_UART_FUNCS to define the rest of the
>>   *     functionality (printch(), etc.)
>> @@ -132,6 +132,11 @@ void printhex8(uint value);
>>         void printhex8(uint value) \
>>         { \
>>                 printhex(value, 8); \
>> -       }
>> +       } \
>> +\
>> +       void debug_uart_init(void) \
>> +       { \
>> +               _debug_uart_init(); \
>> +       } \
>>
>>  #endif
>> diff --git a/lib/efi/efi_stub.c b/lib/efi/efi_stub.c
>> index d4d3e49..e138709 100644
>> --- a/lib/efi/efi_stub.c
>> +++ b/lib/efi/efi_stub.c
>> @@ -59,7 +59,7 @@ struct __packed desctab_info {
>>   * considering if we start needing more U-Boot functionality. Note that we
>>   * could then move get_codeseg32() to arch/x86/cpu/cpu.c.
>>   */
>> -void debug_uart_init(void)
>> +void _debug_uart_init(void)
>>  {
>>  }
>>
>> --
>
> Regards,
> Bin

Regards,
Simon


More information about the U-Boot mailing list