diff options
author | Michal Marek <mmarek@suse.cz> | 2011-10-07 19:18:35 -0400 |
---|---|---|
committer | Michal Marek <mmarek@suse.cz> | 2011-10-11 06:00:39 -0400 |
commit | 2c5925d6b7fedc8f1c325f4f85451f505ec69aca (patch) | |
tree | 4b27c58e2487842385e9a736331d97a3c3a9afee /scripts/genksyms/parse.y | |
parent | b06fcd6c83c231f51a86448bb33c4cd717fefee8 (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.y | 7 |
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); |