[PATCH v3 11/20] board: sunxi: Refactor CHIP board extension code

Kory Maincent (TI.com)
2025-10-13T13:34:30Z

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

Changes in v2:
- Fix a build error.
---
board/sunxi/chip.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/board/sunxi/chip.c b/board/sunxi/chip.c
index 270af2506d2..5e5ec0d1d89 100644
--- a/board/sunxi/chip.c
+++ b/board/sunxi/chip.c
@@ -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++;
}

--
2.43.0