Hi Michael,

Thank you for the patch.
On mer., mars 12, 2025 at 08:36, Michael Walle <mwa...@kernel.org> wrote:

> Fastboot works either over TCP, UDP or USB. The latter doesn't have
> anything to do with networking, thus should work just fine with
> regardless which network stack is selected. In practice, header symbols
> are used inside common code paths. Add some ifdeffery to guard against
> that.
>
> This will make fastboot over USB work with the new LWIP stack.
>
> Signed-off-by: Michael Walle <mwa...@kernel.org>

checkpatch.pl reports some issues with this:

$ ./scripts/checkpatch.pl --strict --u-boot --git HEAD^..HEAD

<snip>
WARNING: Use 'if (IS_ENABLED(CONFIG...))' instead of '#if or #ifdef' where 
possible
<snip>

Some occurences below could be fixed. Could you please have a look?

> ---
> Alternatively, we could add the defines and stub functions to the lwip
> header.
> ---
>  cmd/fastboot.c               | 4 ++++
>  drivers/fastboot/Kconfig     | 1 -
>  drivers/fastboot/fb_common.c | 4 ++++
>  3 files changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/cmd/fastboot.c b/cmd/fastboot.c
> index d4cfc0c7a28..be84a482b81 100644
> --- a/cmd/fastboot.c
> +++ b/cmd/fastboot.c
> @@ -16,6 +16,7 @@
>  #include <linux/printk.h>
>  #include <linux/stringify.h>
>  
> +#if CONFIG_IS_ENABLED(NET)

I think this can be dropped. I hope that since it's a static function,
-if there are no users in the file- the compiler will optimize it out.
Note: I have not verified this, so I might be wrong.

If you measure and see size changes between keeping the #if and not
keeping it, please ignore this comment.

>  static int do_fastboot_udp(int argc, char *const argv[],
>                          uintptr_t buf_addr, size_t buf_size)
>  {
> @@ -55,6 +56,7 @@ static int do_fastboot_tcp(int argc, char *const argv[],
>  
>       return CMD_RET_SUCCESS;
>  }
> +#endif
>  
>  static int do_fastboot_usb(int argc, char *const argv[],
>                          uintptr_t buf_addr, size_t buf_size)
> @@ -160,10 +162,12 @@ NXTARG:
>  
>       fastboot_init((void *)buf_addr, buf_size);
>  
> +#if CONFIG_IS_ENABLED(NET)
>       if (!strcmp(argv[1], "udp"))
>               return do_fastboot_udp(argc, argv, buf_addr, buf_size);
>       if (!strcmp(argv[1], "tcp"))
>               return do_fastboot_tcp(argc, argv, buf_addr, buf_size);
> +#endif

This can be replaced with:

        if (IS_ENABLED(CONFIG_NET)) {
                if (!strcmp(argv[1], "udp"))
                        return do_fastboot_udp(argc, argv, buf_addr, buf_size);
                if (!strcmp(argv[1], "tcp"))
                        return do_fastboot_tcp(argc, argv, buf_addr, buf_size);
        }

>       if (!strcmp(argv[1], "usb")) {
>               argv++;
>               argc--;
> diff --git a/drivers/fastboot/Kconfig b/drivers/fastboot/Kconfig
> index 1eb460f5a02..70207573de2 100644
> --- a/drivers/fastboot/Kconfig
> +++ b/drivers/fastboot/Kconfig
> @@ -1,6 +1,5 @@
>  menu "Fastboot support"
>       depends on CMDLINE
> -     depends on !NET_LWIP
>  
>  config FASTBOOT
>       bool
> diff --git a/drivers/fastboot/fb_common.c b/drivers/fastboot/fb_common.c
> index 12ffb463deb..68f92c4b887 100644
> --- a/drivers/fastboot/fb_common.c
> +++ b/drivers/fastboot/fb_common.c
> @@ -183,11 +183,15 @@ void fastboot_handle_boot(int command, bool success)
>       switch (command) {
>       case FASTBOOT_COMMAND_BOOT:
>               fastboot_boot();
> +#if CONFIG_IS_ENABLED(NET)
>               net_set_state(NETLOOP_SUCCESS);
> +#endif

This can be replaced with:

                if (IS_ENABLED((CONFIG_NET))
                    net_set_state(NETLOOP_SUCCESS);

>               break;
>  
>       case FASTBOOT_COMMAND_CONTINUE:
> +#if CONFIG_IS_ENABLED(NET)
>               net_set_state(NETLOOP_SUCCESS);
> +#endif

Same here.

>               break;
>  
>       case FASTBOOT_COMMAND_REBOOT:
> -- 
> 2.39.5

Reply via email to