CC: Jerome

Hi Jan, and Heinrich, et al.

On 8/19/25 07:45, Heinrich Schuchardt wrote:
> On 19.08.25 16:33, Jan Kiszka wrote:
>> From: Jan Kiszka <jan.kis...@siemens.com>
>>
>> This is needed because distro_efi_read_bootflow_net will then need
>> dhcp_run which is not already enabled by CMD_NET.
>>
>> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>
>> ---
>>   lib/efi_loader/Kconfig | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
>> index c2aa88f59fb..a4055e1cb43 100644
>> --- a/lib/efi_loader/Kconfig
>> +++ b/lib/efi_loader/Kconfig
>> @@ -564,6 +564,7 @@ config EFI_HTTP_BOOT
>>       bool "EFI HTTP Boot support"
>>       depends on NET || NET_LWIP
>>       select CMD_NET
>> +    select CMD_DHCP
> 
> It would be preferable to get rid of all CMD_* symbols here. They are
> just the result of missing separation of CLI and library.
> 
> DHCP is not needed to boot via HTTP. You can manually set up a network
> interface.
> 
> Please, change your patch to use "implies".
> 
> Best regards
> 
> Heinrich
> 
>>       select CMD_DNS
>>       select CMD_WGET
>>       select BLKMAP
> 

Yes this is the overall trouble I see and why I am writing [1] about
symbol names being shortened too much. It would be self-documenting and
more readable to refactor the network protocol symbol names throughout
U-Boot allowing as:

       select PROTO_NET_DHCP
       select PROTO_NET_DNS
       select PROTO_NET_HTTP
       select BLKMAP

...where there is no question what is intended. Compare to:

       select DHCP
       select DNS
       select HTTP
       select BLKMAP

...is very short, but not helpful for code maintenance, and in my
opinion very quickly reading this code block I do not understand which
symbols are network protocols; and searching the code base for all
network protocols in config is not simple, there is not enough information.

It makes most sense to me reading that CONFIG_CMD_DNS selects
PROTO_NET_DNS and if I am writing some code elsewhere this example is
easy to understand I should select PROTO_NET_DNS

I favor a wider change of renaming symbols for legacy network NET to
become LNET and then the result can be "NET" refers to any network stack
including LNET and LWIP. Then what I have suggested here for the context
of this patch will not be confused about selecting legacy network
protocols; it is about being readable and simple to understand quickly.

1: "Re: [PATCH] net: introduce CONFIG_DNS"
https://lore.kernel.org/u-boot/d77f193b-0b0a-44cd-b0e0-7da83a6a8...@freeshell.de/


- E Shattow

Reply via email to