diff options
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/kconfig/confdata.c | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c index f349bdcffa98..d1bab0f42d10 100644 --- a/scripts/kconfig/confdata.c +++ b/scripts/kconfig/confdata.c | |||
| @@ -440,12 +440,11 @@ static void conf_write_string(bool headerfile, const char *name, | |||
| 440 | fputs("\"\n", out); | 440 | fputs("\"\n", out); |
| 441 | } | 441 | } |
| 442 | 442 | ||
| 443 | static void conf_write_symbol(struct symbol *sym, enum symbol_type type, | 443 | static void conf_write_symbol(struct symbol *sym, FILE *out, bool write_no) |
| 444 | FILE *out, bool write_no) | ||
| 445 | { | 444 | { |
| 446 | const char *str; | 445 | const char *str; |
| 447 | 446 | ||
| 448 | switch (type) { | 447 | switch (sym->type) { |
| 449 | case S_BOOLEAN: | 448 | case S_BOOLEAN: |
| 450 | case S_TRISTATE: | 449 | case S_TRISTATE: |
| 451 | switch (sym_get_tristate_value(sym)) { | 450 | switch (sym_get_tristate_value(sym)) { |
| @@ -532,7 +531,7 @@ int conf_write_defconfig(const char *filename) | |||
| 532 | goto next_menu; | 531 | goto next_menu; |
| 533 | } | 532 | } |
| 534 | } | 533 | } |
| 535 | conf_write_symbol(sym, sym->type, out, true); | 534 | conf_write_symbol(sym, out, true); |
| 536 | } | 535 | } |
| 537 | next_menu: | 536 | next_menu: |
| 538 | if (menu->list != NULL) { | 537 | if (menu->list != NULL) { |
| @@ -561,7 +560,6 @@ int conf_write(const char *name) | |||
| 561 | const char *basename; | 560 | const char *basename; |
| 562 | const char *str; | 561 | const char *str; |
| 563 | char dirname[PATH_MAX+1], tmpname[PATH_MAX+1], newname[PATH_MAX+1]; | 562 | char dirname[PATH_MAX+1], tmpname[PATH_MAX+1], newname[PATH_MAX+1]; |
| 564 | enum symbol_type type; | ||
| 565 | time_t now; | 563 | time_t now; |
| 566 | int use_timestamp = 1; | 564 | int use_timestamp = 1; |
| 567 | char *env; | 565 | char *env; |
| @@ -633,14 +631,8 @@ int conf_write(const char *name) | |||
| 633 | if (!(sym->flags & SYMBOL_WRITE)) | 631 | if (!(sym->flags & SYMBOL_WRITE)) |
| 634 | goto next; | 632 | goto next; |
| 635 | sym->flags &= ~SYMBOL_WRITE; | 633 | sym->flags &= ~SYMBOL_WRITE; |
| 636 | type = sym->type; | ||
| 637 | if (type == S_TRISTATE) { | ||
| 638 | sym_calc_value(modules_sym); | ||
| 639 | if (modules_sym->curr.tri == no) | ||
| 640 | type = S_BOOLEAN; | ||
| 641 | } | ||
| 642 | /* Write config symbol to file */ | 634 | /* Write config symbol to file */ |
| 643 | conf_write_symbol(sym, type, out, true); | 635 | conf_write_symbol(sym, out, true); |
| 644 | } | 636 | } |
| 645 | 637 | ||
| 646 | next: | 638 | next: |
| @@ -842,7 +834,7 @@ int conf_write_autoconf(void) | |||
| 842 | continue; | 834 | continue; |
| 843 | 835 | ||
| 844 | /* write symbol to config file */ | 836 | /* write symbol to config file */ |
| 845 | conf_write_symbol(sym, sym->type, out, false); | 837 | conf_write_symbol(sym, out, false); |
| 846 | 838 | ||
| 847 | /* update autoconf and tristate files */ | 839 | /* update autoconf and tristate files */ |
| 848 | switch (sym->type) { | 840 | switch (sym->type) { |
