fixdep: handle CONFIG_IS_ENABLE() and friends for TPL
authorMasahiro Yamada <masahiroy@kernel.org>
Thu, 16 Apr 2020 05:01:44 +0000 (14:01 +0900)
committerTom Rini <trini@konsulko.com>
Fri, 24 Apr 2020 14:51:32 +0000 (10:51 -0400)
Since commit f1c6e1922eb5 ("spl: dm: use CONFIG_IS_ENABLED to test for
the DM option"), CONFIG_IS_ENABLED() handles CONFIG_TPL_* options, but
fixdep still cannot because it hard-codes the "SPL_" prefix as follows:

    char tmp_buf[256] = "SPL_"; /* hack for U-Boot */

Take care of the "TPL_" prefix too.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
scripts/basic/fixdep.c

index c9277d782c5ec24005480c13c59d95e291045fff..555dada47a7af292c015a1b2cd95024f51d3de63 100644 (file)
 #include <stdio.h>
 #include <ctype.h>
 
-int is_spl_build = 0; /* hack for U-Boot */
+char tmp_buf[256]; /* hack for U-Boot */
 
 static void usage(void)
 {
@@ -230,7 +230,6 @@ static void parse_config_file(const char *p)
 {
        const char *q, *r;
        const char *start = p;
-       char tmp_buf[256] = "SPL_"; /* hack for U-Boot */
 
        while ((p = strstr(p, "CONFIG_"))) {
                if (p > start && (isalnum(p[-1]) || p[-1] == '_')) {
@@ -260,7 +259,7 @@ static void parse_config_file(const char *p)
                        while (isalnum(*q) || *q == '_')
                                q++;
                        r = q;
-                       if (r > p && is_spl_build) {
+                       if (r > p && tmp_buf[0]) {
                                memcpy(tmp_buf + 4, p, r - p);
                                r = tmp_buf + 4 + (r - p);
                                p = tmp_buf;
@@ -419,8 +418,11 @@ int main(int argc, char *argv[])
        cmdline = argv[3];
 
        /* hack for U-Boot */
-       if (!strncmp(target, "spl/", 4) || !strncmp(target, "tpl/", 4))
-               is_spl_build = 1;
+       if (!strncmp(target, "spl/", 4))
+               strcpy(tmp_buf, "SPL_");
+       else if (!strncmp(target, "tpl/", 4))
+               strcpy(tmp_buf, "TPL_");
+       /* end U-Boot hack */
 
        printf("cmd_%s := %s\n\n", target, cmdline);