]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
xilinx: zynqmp: Remove one static variable
authorMichal Simek <michal.simek@xilinx.com>
Wed, 5 Aug 2020 10:41:35 +0000 (12:41 +0200)
committerMichal Simek <michal.simek@xilinx.com>
Wed, 23 Sep 2020 08:31:40 +0000 (10:31 +0200)
There is no reason to have name variable saved in BSS section when it
doesn't need to be really used. That's why remove static from variable
definition and use strdup() to duplicate string with exact size from malloc
area instead.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
board/xilinx/zynqmp/zynqmp.c

index 1afc980243bbcc4f002c20cd6ac353919c2a2b19..fd36312d46f0ca9caa3520b0d49d31f7cb259975 100644 (file)
@@ -190,7 +190,7 @@ static char *zynqmp_get_silicon_idcode_name(void)
 {
        u32 i;
        u32 idcode, idcode2;
-       static char name[ZYNQMP_VERSION_SIZE];
+       char name[ZYNQMP_VERSION_SIZE];
        u32 ret_payload[PAYLOAD_ARG_CNT];
 
        xilinx_pm_request(PM_GET_CHIPID, 0, 0, 0, 0, ret_payload);
@@ -218,7 +218,7 @@ static char *zynqmp_get_silicon_idcode_name(void)
                return "unknown";
 
        /* Add device prefix to the name */
-       strncat(name, "zu", 2);
+       strncpy(name, "zu", ZYNQMP_VERSION_SIZE);
        strncat(&name[2], simple_itoa(zynqmp_devices[i].device), 2);
 
        if (zynqmp_devices[i].variants & ZYNQMP_VARIANT_EV) {
@@ -268,7 +268,7 @@ static char *zynqmp_get_silicon_idcode_name(void)
                debug("Variant not identified\n");
        }
 
-       return name;
+       return strdup(name);
 }
 #endif