[PATCH] cmd: bdinfo: fix incorrect Kconfig options check for print_eth()

Quentin Schulz quentin.schulz at cherry.de
Wed Dec 17 16:35:47 CET 2025


Hi Tom,

On 12/17/25 4:04 PM, Tom Rini wrote:
> On Wed, Dec 17, 2025 at 03:51:03PM +0100, Quentin Schulz wrote:
>> Hi Tom,
>>
>> On 12/17/25 3:17 PM, Tom Rini wrote:
>>> On Wed, Dec 17, 2025 at 03:01:10PM +0100, Quentin Schulz wrote:
>>>
>>>> From: Quentin Schulz <quentin.schulz at cherry.de>
>>>>
>>>> CMD_NET_LWIP has never existed so it cannot be right. I'm guessing the
>>>> intent was to allow print_eth() to be called when NET_LWIP is defined
>>>> (NET means "legacy networking stack" as opposed to NET_LWIP which is the
>>>>    newest (and incompatible) stack). There probably was some mix-up
>>>> between CMD_NET and NET options.
>>>>
>>>> The dependency on CMD_NET seems unnecessary as it seems perfectly fine
>>>> to run bdinfo without CMD_NET (build and run tested). So let's instead
>>>> make the dependency on NET || NET_LWIP.
>>>>
>>>> Fixes: 95744d2527cb ("cmd: bdinfo: enable -e when CONFIG_CMD_NET_LWIP=y")
>>>> Signed-off-by: Quentin Schulz <quentin.schulz at cherry.de>
>>>> ---
>>>>    cmd/bdinfo.c | 6 +++---
>>>>    1 file changed, 3 insertions(+), 3 deletions(-)
>>>>
>>>> diff --git a/cmd/bdinfo.c b/cmd/bdinfo.c
>>>> index 20c8c97f0cd..09fe8067642 100644
>>>> --- a/cmd/bdinfo.c
>>>> +++ b/cmd/bdinfo.c
>>>> @@ -152,7 +152,7 @@ static int bdinfo_print_all(struct bd_info *bd)
>>>>    	bdinfo_print_num_l("relocaddr", gd->relocaddr);
>>>>    	bdinfo_print_num_l("reloc off", gd->reloc_off);
>>>>    	printf("%-12s= %u-bit\n", "Build", (uint)sizeof(void *) * 8);
>>>> -	if (IS_ENABLED(CONFIG_CMD_NET) || IS_ENABLED(CONFIG_CMD_NET_LWIP))
>>>> +	if (IS_ENABLED(CONFIG_NET) || IS_ENABLED(CONFIG_NET_LWIP))
>>>>    		print_eth();
>>>>    	bdinfo_print_num_l("fdt_blob", (ulong)map_to_sysmem(gd->fdt_blob));
>>>>    	if (IS_ENABLED(CONFIG_VIDEO))
>>>> @@ -193,8 +193,8 @@ int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
>>>>    		case 'a':
>>>>    			return bdinfo_print_all(bd);
>>>>    		case 'e':
>>>> -			if (!IS_ENABLED(CONFIG_CMD_NET) &&
>>>> -			    !IS_ENABLED(CONFIG_CMD_NET_LWIP))
>>>> +			if (!IS_ENABLED(CONFIG_NET) &&
>>>> +			    !IS_ENABLED(CONFIG_NET_LWIP))
>>>>    				return CMD_RET_USAGE;
>>>>    			print_eth();
>>>>    			return CMD_RET_SUCCESS;
>>>
>>> It must also be the case that we never both build cmd/bdinfo.c and also
>>> have no network stack, otherwise we'd get a warning around print_eth
>>> being defined but unused. Can you guard that function too? It needs
>>
>> This doesn't happen though for some reason.
>>
>> make ringneck-px30_defconfig
>> make menuconfig # CMD_NET=n, NO_NET=y
>> make
>>
>> No warning or error (CMD_BDI=y and I've checked by adding #error whatever in
>> the file). eth-uclass.c which defines eth_get_dev_index() is not compiled in
>> (no eth-uclass.o in build/drivers/).
> 
> Hunh, ok...
> 

Compiler magic? /me shrugs

>>> eth_get_dev_index to exist which does require a network stack. Also,
>>> maybe we should be checking on the "no networking enabled" symbol? Or
>>
>> Yes we probably should but we do NET || NET_LWIP everywhere, so I believe
>> it's better to stay consistent for now.
> 
> Makes sense.
> 


Mmmmm... So CMD_NET is only selectable when NET || NET_LWIP today[1], so 
keeping only CMD_NET check is enough (removing CMD_NET_LWIP which anyway 
doesn't exist). But at the same time, there's nothing CMD_NET does that 
is required for this part of bdinfo to work, so I think going for NET || 
NET_LWIP still is better? What do you think?

[1] https://elixir.bootlin.com/u-boot/v2025.10/source/cmd/Kconfig#L1840

>>> no, because that would then conflict with the other series you're
>>> working on that you mentioned?
>>>
>>
>> In the upcoming series, I plan on having NET mean "there's a networking
>> stack available" and I'll replace all current NET || NET_LWIP with simply
>> NET (the "new" meaning for NET; the current NET will be renamed to
>> NET_LEGACY). It'll be based on this series, and I don't want to be making
>> this patch dependent on the huge changes in the upcoming series. I'm not
>> confident that upcoming series is necessarily worth merging or that it'll go
>> through and be merged. I'm at 198 files changed and the list of people
>> get_maintainer returns is 160 people... I still have my doubt on the
>> NET->NET_LEGACY rename and reusing NET for NET_LEGACY || NET_LWIP.
>>
>> I'm on PTO in ~24h for ~3 weeks and I'm torn on whether to send the series
>> (if it's ready) by then, feels a bit weird to drop a big changeset like that
>> and disappear for a while :)
> 
> Yes, lets see it when you're back from vacation, thanks and enjoy your
> PTO!
> 

Thanks, happy holidays and good luck for the 2026.01 release, hopefully 
everything goes smooth :)

Cheers,
Quentin


More information about the U-Boot mailing list