diff options
Diffstat (limited to 'scripts/kconfig/expr.h')
-rw-r--r-- | scripts/kconfig/expr.h | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/scripts/kconfig/expr.h b/scripts/kconfig/expr.h index 1b36ef18c48d..6084525f604b 100644 --- a/scripts/kconfig/expr.h +++ b/scripts/kconfig/expr.h | |||
@@ -63,12 +63,18 @@ enum symbol_type { | |||
63 | S_UNKNOWN, S_BOOLEAN, S_TRISTATE, S_INT, S_HEX, S_STRING, S_OTHER | 63 | S_UNKNOWN, S_BOOLEAN, S_TRISTATE, S_INT, S_HEX, S_STRING, S_OTHER |
64 | }; | 64 | }; |
65 | 65 | ||
66 | enum { | ||
67 | S_DEF_USER, /* main user value */ | ||
68 | S_DEF_AUTO, | ||
69 | }; | ||
70 | |||
66 | struct symbol { | 71 | struct symbol { |
67 | struct symbol *next; | 72 | struct symbol *next; |
68 | char *name; | 73 | char *name; |
69 | char *help; | 74 | char *help; |
70 | enum symbol_type type; | 75 | enum symbol_type type; |
71 | struct symbol_value curr, user; | 76 | struct symbol_value curr; |
77 | struct symbol_value def[4]; | ||
72 | tristate visible; | 78 | tristate visible; |
73 | int flags; | 79 | int flags; |
74 | struct property *prop; | 80 | struct property *prop; |
@@ -78,10 +84,7 @@ struct symbol { | |||
78 | 84 | ||
79 | #define for_all_symbols(i, sym) for (i = 0; i < 257; i++) for (sym = symbol_hash[i]; sym; sym = sym->next) if (sym->type != S_OTHER) | 85 | #define for_all_symbols(i, sym) for (i = 0; i < 257; i++) for (sym = symbol_hash[i]; sym; sym = sym->next) if (sym->type != S_OTHER) |
80 | 86 | ||
81 | #define SYMBOL_YES 0x0001 | 87 | #define SYMBOL_CONST 0x0001 |
82 | #define SYMBOL_MOD 0x0002 | ||
83 | #define SYMBOL_NO 0x0004 | ||
84 | #define SYMBOL_CONST 0x0007 | ||
85 | #define SYMBOL_CHECK 0x0008 | 88 | #define SYMBOL_CHECK 0x0008 |
86 | #define SYMBOL_CHOICE 0x0010 | 89 | #define SYMBOL_CHOICE 0x0010 |
87 | #define SYMBOL_CHOICEVAL 0x0020 | 90 | #define SYMBOL_CHOICEVAL 0x0020 |
@@ -90,10 +93,14 @@ struct symbol { | |||
90 | #define SYMBOL_OPTIONAL 0x0100 | 93 | #define SYMBOL_OPTIONAL 0x0100 |
91 | #define SYMBOL_WRITE 0x0200 | 94 | #define SYMBOL_WRITE 0x0200 |
92 | #define SYMBOL_CHANGED 0x0400 | 95 | #define SYMBOL_CHANGED 0x0400 |
93 | #define SYMBOL_NEW 0x0800 | ||
94 | #define SYMBOL_AUTO 0x1000 | 96 | #define SYMBOL_AUTO 0x1000 |
95 | #define SYMBOL_CHECKED 0x2000 | 97 | #define SYMBOL_CHECKED 0x2000 |
96 | #define SYMBOL_WARNED 0x8000 | 98 | #define SYMBOL_WARNED 0x8000 |
99 | #define SYMBOL_DEF 0x10000 | ||
100 | #define SYMBOL_DEF_USER 0x10000 | ||
101 | #define SYMBOL_DEF_AUTO 0x20000 | ||
102 | #define SYMBOL_DEF3 0x40000 | ||
103 | #define SYMBOL_DEF4 0x80000 | ||
97 | 104 | ||
98 | #define SYMBOL_MAXLENGTH 256 | 105 | #define SYMBOL_MAXLENGTH 256 |
99 | #define SYMBOL_HASHSIZE 257 | 106 | #define SYMBOL_HASHSIZE 257 |
@@ -149,6 +156,7 @@ struct file *lookup_file(const char *name); | |||
149 | 156 | ||
150 | extern struct symbol symbol_yes, symbol_no, symbol_mod; | 157 | extern struct symbol symbol_yes, symbol_no, symbol_mod; |
151 | extern struct symbol *modules_sym; | 158 | extern struct symbol *modules_sym; |
159 | extern struct symbol *sym_defconfig_list; | ||
152 | extern int cdebug; | 160 | extern int cdebug; |
153 | struct expr *expr_alloc_symbol(struct symbol *sym); | 161 | struct expr *expr_alloc_symbol(struct symbol *sym); |
154 | struct expr *expr_alloc_one(enum expr_type type, struct expr *ce); | 162 | struct expr *expr_alloc_one(enum expr_type type, struct expr *ce); |