]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
board: sunxi: Refactor CHIP board extension code
authorKory Maincent (TI.com) <kory.maincent@bootlin.com>
Thu, 30 Oct 2025 16:45:04 +0000 (17:45 +0100)
committerTom Rini <trini@konsulko.com>
Mon, 3 Nov 2025 16:02:39 +0000 (10:02 -0600)
Clean up and improve code structure in the sunxi CHIP board extension
detection implementation.

Signed-off-by: Kory Maincent (TI.com) <kory.maincent@bootlin.com>
board/sunxi/chip.c

index 270af2506d21a777065ec48742883871445eb50e..5e5ec0d1d89ab2a3d879910ba29643cbd049b44f 100644 (file)
@@ -42,14 +42,9 @@ struct dip_w1_header {
 
 int extension_board_scan(struct list_head *extension_list)
 {
-       struct extension *dip;
-       struct dip_w1_header w1_header;
        struct udevice *bus, *dev;
-       u32 vid;
-       u16 pid;
-       int ret;
-
        int num_dip = 0;
+       int ret;
 
        sunxi_gpio_set_pull(SUNXI_GPD(2), SUNXI_GPIO_PULL_UP);
 
@@ -60,6 +55,11 @@ int extension_board_scan(struct list_head *extension_list)
        }
 
        for_each_w1_device(bus, &dev) {
+               struct dip_w1_header w1_header;
+               struct extension *dip;
+               u32 vid;
+               u16 pid;
+
                if (w1_get_device_family(dev) != W1_FAMILY_DS2431)
                        continue;
 
@@ -90,8 +90,8 @@ int extension_board_scan(struct list_head *extension_list)
 
                snprintf(dip->overlay, sizeof(dip->overlay), "dip-%x-%x.dtbo",
                         vid, pid);
-               strncpy(dip->name, w1_header.product_name, 32);
-               strncpy(dip->owner, w1_header.vendor_name, 32);
+               strlcpy(dip->name, w1_header.product_name, sizeof(dip->name));
+               strlcpy(dip->owner, w1_header.vendor_name, sizeof(dip->owner));
                list_add_tail(&dip->list, extension_list);
                num_dip++;
        }