diff options
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/kconfig/expr.h | 1 | ||||
-rw-r--r-- | scripts/kconfig/symbol.c | 11 | ||||
-rw-r--r-- | scripts/kconfig/zconf.tab.c_shipped | 5 | ||||
-rw-r--r-- | scripts/kconfig/zconf.y | 5 |
4 files changed, 10 insertions, 12 deletions
diff --git a/scripts/kconfig/expr.h b/scripts/kconfig/expr.h index 7d39ff43e6e..1b36ef18c48 100644 --- a/scripts/kconfig/expr.h +++ b/scripts/kconfig/expr.h | |||
@@ -93,7 +93,6 @@ struct symbol { | |||
93 | #define SYMBOL_NEW 0x0800 | 93 | #define SYMBOL_NEW 0x0800 |
94 | #define SYMBOL_AUTO 0x1000 | 94 | #define SYMBOL_AUTO 0x1000 |
95 | #define SYMBOL_CHECKED 0x2000 | 95 | #define SYMBOL_CHECKED 0x2000 |
96 | #define SYMBOL_CHECK_DONE 0x4000 | ||
97 | #define SYMBOL_WARNED 0x8000 | 96 | #define SYMBOL_WARNED 0x8000 |
98 | 97 | ||
99 | #define SYMBOL_MAXLENGTH 256 | 98 | #define SYMBOL_MAXLENGTH 256 |
diff --git a/scripts/kconfig/symbol.c b/scripts/kconfig/symbol.c index affa52f5c65..10d96c4188d 100644 --- a/scripts/kconfig/symbol.c +++ b/scripts/kconfig/symbol.c | |||
@@ -731,12 +731,12 @@ struct symbol *sym_check_deps(struct symbol *sym) | |||
731 | struct symbol *sym2; | 731 | struct symbol *sym2; |
732 | struct property *prop; | 732 | struct property *prop; |
733 | 733 | ||
734 | if (sym->flags & SYMBOL_CHECK_DONE) | ||
735 | return NULL; | ||
736 | if (sym->flags & SYMBOL_CHECK) { | 734 | if (sym->flags & SYMBOL_CHECK) { |
737 | printf("Warning! Found recursive dependency: %s", sym->name); | 735 | printf("Warning! Found recursive dependency: %s", sym->name); |
738 | return sym; | 736 | return sym; |
739 | } | 737 | } |
738 | if (sym->flags & SYMBOL_CHECKED) | ||
739 | return NULL; | ||
740 | 740 | ||
741 | sym->flags |= (SYMBOL_CHECK | SYMBOL_CHECKED); | 741 | sym->flags |= (SYMBOL_CHECK | SYMBOL_CHECKED); |
742 | sym2 = sym_check_expr_deps(sym->rev_dep.expr); | 742 | sym2 = sym_check_expr_deps(sym->rev_dep.expr); |
@@ -756,8 +756,13 @@ struct symbol *sym_check_deps(struct symbol *sym) | |||
756 | goto out; | 756 | goto out; |
757 | } | 757 | } |
758 | out: | 758 | out: |
759 | if (sym2) | 759 | if (sym2) { |
760 | printf(" %s", sym->name); | 760 | printf(" %s", sym->name); |
761 | if (sym2 == sym) { | ||
762 | printf("\n"); | ||
763 | sym2 = NULL; | ||
764 | } | ||
765 | } | ||
761 | sym->flags &= ~SYMBOL_CHECK; | 766 | sym->flags &= ~SYMBOL_CHECK; |
762 | return sym2; | 767 | return sym2; |
763 | } | 768 | } |
diff --git a/scripts/kconfig/zconf.tab.c_shipped b/scripts/kconfig/zconf.tab.c_shipped index ff4fcc09720..da12f7b33be 100644 --- a/scripts/kconfig/zconf.tab.c_shipped +++ b/scripts/kconfig/zconf.tab.c_shipped | |||
@@ -1933,10 +1933,7 @@ void conf_parse(const char *name) | |||
1933 | exit(1); | 1933 | exit(1); |
1934 | menu_finalize(&rootmenu); | 1934 | menu_finalize(&rootmenu); |
1935 | for_all_symbols(i, sym) { | 1935 | for_all_symbols(i, sym) { |
1936 | if (!(sym->flags & SYMBOL_CHECKED) && sym_check_deps(sym)) | 1936 | sym_check_deps(sym); |
1937 | printf("\n"); | ||
1938 | else | ||
1939 | sym->flags |= SYMBOL_CHECK_DONE; | ||
1940 | } | 1937 | } |
1941 | 1938 | ||
1942 | sym_change_count = 1; | 1939 | sym_change_count = 1; |
diff --git a/scripts/kconfig/zconf.y b/scripts/kconfig/zconf.y index e1a0f455d4a..1e214e9c1d3 100644 --- a/scripts/kconfig/zconf.y +++ b/scripts/kconfig/zconf.y | |||
@@ -495,10 +495,7 @@ void conf_parse(const char *name) | |||
495 | exit(1); | 495 | exit(1); |
496 | menu_finalize(&rootmenu); | 496 | menu_finalize(&rootmenu); |
497 | for_all_symbols(i, sym) { | 497 | for_all_symbols(i, sym) { |
498 | if (!(sym->flags & SYMBOL_CHECKED) && sym_check_deps(sym)) | 498 | sym_check_deps(sym); |
499 | printf("\n"); | ||
500 | else | ||
501 | sym->flags |= SYMBOL_CHECK_DONE; | ||
502 | } | 499 | } |
503 | 500 | ||
504 | sym_change_count = 1; | 501 | sym_change_count = 1; |