aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/genksyms/parse.y
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/parse.y
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/parse.y')
-rw-r--r--scripts/genksyms/parse.y7
1 files changed, 7 insertions, 0 deletions
diff --git a/scripts/genksyms/parse.y b/scripts/genksyms/parse.y
index a783ad4e2b51..23c39998ad86 100644
--- a/scripts/genksyms/parse.y
+++ b/scripts/genksyms/parse.y
@@ -58,6 +58,13 @@ static void record_compound(struct string_list **keyw,
58 enum symbol_type type) 58 enum symbol_type type)
59{ 59{
60 struct string_list *b = *body, *i = *ident, *r; 60 struct string_list *b = *body, *i = *ident, *r;
61
62 if (i->in_source_file) {
63 remove_node(keyw);
64 (*ident)->tag = type;
65 remove_list(body, ident);
66 return;
67 }
61 r = copy_node(i); r->tag = type; 68 r = copy_node(i); r->tag = type;
62 r->next = (*keyw)->next; *body = r; (*keyw)->next = NULL; 69 r->next = (*keyw)->next; *body = r; (*keyw)->next = NULL;
63 add_symbol(i->string, type, b, is_extern); 70 add_symbol(i->string, type, b, is_extern);