[PATCH v4 1/5] efi: stub: Define debug uart functions only if CONFIG_DEBUG_UART is enabled

Quentin Schulz quentin.schulz at cherry.de
Mon May 19 17:09:07 CEST 2025


Hi Tom,

On 5/19/25 4:48 PM, Tom Rini wrote:
> On Thu, May 15, 2025 at 05:55:44PM +0200, Lukasz Czechowski wrote:
>> Initialize the debug uart only in case CONFIG_DEBUG_UART is
>> enabled. The _debug_uart_putc is used internally by debug uart
>> functions, so it must be also included inside #ifdef block,
>> otherwise it will cause compilation warnings.
>>
>> Signed-off-by: Lukasz Czechowski <lukasz.czechowski at thaumatec.com>
>> ---
>>   lib/efi/efi_stub.c | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/lib/efi/efi_stub.c b/lib/efi/efi_stub.c
>> index 40fc29d9adf7..5172cd78a7c0 100644
>> --- a/lib/efi/efi_stub.c
>> +++ b/lib/efi/efi_stub.c
>> @@ -83,12 +83,14 @@ void puts(const char *str)
>>   		putc(*str++);
>>   }
>>   
>> +#ifdef CONFIG_DEBUG_UART
>>   static void _debug_uart_putc(int ch)
>>   {
>>   	putc(ch);
>>   }
>>   
>>   DEBUG_UART_FUNCS
>> +#endif
>>   
>>   void *memcpy(void *dest, const void *src, size_t size)
>>   {
> 
> I notice that this, and the uniphier implementations are the only
> non-inline ones. Is the problem we later conflict with your changes,
> perhaps because this wasn't marked inline? Thanks.
> 

https://lore.kernel.org/u-boot/d63d53bd-3f63-430d-b0bc-2379b7bded81@rock-chips.com/

so essentially

lib/efi/efi_stub.c:86:13: error: '_debug_uart_putc' defined but not
used [-Werror=unused-function]
    86 | static void _debug_uart_putc(int ch)

I tested by adding inline and indeed it fixes the warning.

Somehow the non-inlined _debug_uart_init doesn't seem to be triggering 
any warning though.

Would you recommend to inline the _debug_uart_putc function instead of 
guarding the whole thing with ifdefery?

Cheers,
Quentin


More information about the U-Boot mailing list