cmd: Allow building ufetch without CONFIG_BLK
authorJ. Neuschäfer <j.ne@posteo.net>
Wed, 11 Dec 2024 22:25:26 +0000 (23:25 +0100)
committerCaleb Connolly <caleb.connolly@linaro.org>
Wed, 22 Jan 2025 15:43:54 +0000 (16:43 +0100)
The ufetch command is still quite useful on systems without block
device support; remove the CONFIG_BLK dependency and make sure the code
compiles/works with and without CONFIG_BLK.

Reviewed-by: Caleb Connolly <caleb.connolly@linaro.org>
Signed-off-by: J. Neuschäfer <j.ne@posteo.net>
Link: https://lore.kernel.org/r/20241211-ufetch-v2-2-2b5432ffaeb1@posteo.net
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
cmd/Kconfig
cmd/ufetch.c

index 864b6d4..2a5a77f 100644 (file)
@@ -178,7 +178,6 @@ config CMD_CPU
 
 config CMD_UFETCH
        bool "U-Boot fetch"
-       depends on BLK
        help
          Fetch utility for U-Boot (akin to neofetch). Prints information
          about U-Boot and the board it is running on in a pleasing format.
index 5f3ef84..83cec0f 100644 (file)
@@ -92,11 +92,9 @@ static int do_ufetch(struct cmd_tbl *cmdtp, int flag, int argc,
        int num_lines = max((size_t)LAST_LINE + 1, ARRAY_SIZE(logo_lines));
        const char *model, *compatible;
        char *ipaddr;
-       int n_cmds, n_cpus = 0, ret, compatlen;
+       int n_cmds, n_cpus = 0, compatlen;
        size_t size;
        ofnode np;
-       struct udevice *dev;
-       struct blk_desc *desc;
        bool skip_ascii = false;
 
        if (argc > 1 && strcmp(argv[1], "-n") == 0) {
@@ -199,7 +197,12 @@ static int do_ufetch(struct cmd_tbl *cmdtp, int flag, int argc,
                        print_size(size, "\n");
                        break;
                case STORAGE:
-               default:
+               default: {
+#ifdef CONFIG_BLK
+                       struct udevice *dev;
+                       struct blk_desc *desc;
+                       int ret;
+
                        ret = uclass_find_device_by_seq(UCLASS_BLK, line - STORAGE, &dev);
                        if (!ret && dev) {
                                desc = dev_get_uclass_plat(dev);
@@ -213,8 +216,10 @@ static int do_ufetch(struct cmd_tbl *cmdtp, int flag, int argc,
                        } else if (ret == -ENODEV && (skip_ascii || line > ARRAY_SIZE(logo_lines))) {
                                break;
                        }
+#endif
                        printf("\n");
                }
+               }
        }
 
        printf(RESET "\n\n");