aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/genksyms/lex.l
diff options
context:
space:
mode:
authorMichal Marek <mmarek@suse.cz>2011-10-07 19:18:35 -0400
committerMichal Marek <mmarek@suse.cz>2011-10-11 06:00:39 -0400
commit2c5925d6b7fedc8f1c325f4f85451f505ec69aca (patch)
tree4b27c58e2487842385e9a736331d97a3c3a9afee /scripts/genksyms/lex.l
parentb06fcd6c83c231f51a86448bb33c4cd717fefee8 (diff)
genksyms: Do not expand internal types
Consider structures, unions and enums defined in the source file as internal and do not expand them. This way, changes to e.g. struct serial_private in drivers/tty/serial/8250_pci.c will not affect the checksum of the pciserial_* exports.
Diffstat (limited to 'scripts/genksyms/lex.l')
-rw-r--r--scripts/genksyms/lex.l8
1 files changed, 8 insertions, 0 deletions
diff --git a/scripts/genksyms/lex.l b/scripts/genksyms/lex.l
index 400ae06a70df..f770071719cb 100644
--- a/scripts/genksyms/lex.l
+++ b/scripts/genksyms/lex.l
@@ -116,6 +116,7 @@ MC_TOKEN ([~%^&*+=|<>/-]=)|(&&)|("||")|(->)|(<<)|(>>)
116 cur_node->tag = \ 116 cur_node->tag = \
117 find_symbol(cur_node->string, SYM_ENUM_CONST, 1)?\ 117 find_symbol(cur_node->string, SYM_ENUM_CONST, 1)?\
118 SYM_ENUM_CONST : SYM_NORMAL ; \ 118 SYM_ENUM_CONST : SYM_NORMAL ; \
119 cur_node->in_source_file = in_source_file; \
119 } while (0) 120 } while (0)
120 121
121#define APP _APP(yytext, yyleng) 122#define APP _APP(yytext, yyleng)
@@ -166,6 +167,13 @@ repeat:
166 cur_filename = memcpy(xmalloc(e-file+1), file, e-file+1); 167 cur_filename = memcpy(xmalloc(e-file+1), file, e-file+1);
167 cur_line = atoi(yytext+2); 168 cur_line = atoi(yytext+2);
168 169
170 if (!source_file) {
171 source_file = xstrdup(cur_filename);
172 in_source_file = 1;
173 } else {
174 in_source_file = (strcmp(cur_filename, source_file) == 0);
175 }
176
169 goto repeat; 177 goto repeat;
170 } 178 }
171 179