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

Quentin Schulz quentin.schulz at cherry.de
Wed Dec 17 15:51:03 CET 2025


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/).

> 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.

> 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 :)

Cheers,
Quentin


More information about the U-Boot mailing list