diff options
Diffstat (limited to 'scripts/mod')
-rw-r--r-- | scripts/mod/file2alias.c | 34 | ||||
-rw-r--r-- | scripts/mod/modpost.c | 15 | ||||
-rw-r--r-- | scripts/mod/modpost.h | 2 |
3 files changed, 4 insertions, 47 deletions
diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c index 7da9735e7ab3..00586119a25b 100644 --- a/scripts/mod/file2alias.c +++ b/scripts/mod/file2alias.c @@ -1476,8 +1476,8 @@ void handle_moddevtable(struct module *mod, struct elf_info *info, { void *symval; char *zeros = NULL; - const char *type, *name, *modname; - size_t typelen, modnamelen; + const char *type, *name; + size_t typelen; static const char *prefix = "__mod_device_table__"; /* We're looking for a section relative symbol */ @@ -1488,20 +1488,10 @@ void handle_moddevtable(struct module *mod, struct elf_info *info, if (ELF_ST_TYPE(sym->st_info) != STT_OBJECT) return; - /* All our symbols are of form __mod_device_table__kmod_<modname>__<type>__<name>. */ + /* All our symbols are of form __mod_device_table__<type>__<name>. */ if (!strstarts(symname, prefix)) return; - - modname = strstr(symname, "__kmod_"); - if (!modname) - return; - modname += strlen("__kmod_"); - - type = strstr(modname, "__"); - if (!type) - return; - modnamelen = type - modname; - type += strlen("__"); + type = symname + strlen(prefix); name = strstr(type, "__"); if (!name) @@ -1527,21 +1517,5 @@ void handle_moddevtable(struct module *mod, struct elf_info *info, } } - if (mod->is_vmlinux) { - struct module_alias *alias; - - /* - * If this is vmlinux, record the name of the builtin module. - * Traverse the linked list in the reverse order, and set the - * builtin_modname unless it has already been set in the - * previous call. - */ - list_for_each_entry_reverse(alias, &mod->aliases, node) { - if (alias->builtin_modname) - break; - alias->builtin_modname = xstrndup(modname, modnamelen); - } - } - free(zeros); } diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c index 47c8aa2a6939..5ca7c268294e 100644 --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c @@ -2067,26 +2067,11 @@ static void write_if_changed(struct buffer *b, const char *fname) static void write_vmlinux_export_c_file(struct module *mod) { struct buffer buf = { }; - struct module_alias *alias, *next; buf_printf(&buf, "#include <linux/export-internal.h>\n"); add_exported_symbols(&buf, mod); - - buf_printf(&buf, - "#include <linux/module.h>\n" - "#undef __MODULE_INFO_PREFIX\n" - "#define __MODULE_INFO_PREFIX\n"); - - list_for_each_entry_safe(alias, next, &mod->aliases, node) { - buf_printf(&buf, "MODULE_INFO(%s.alias, \"%s\");\n", - alias->builtin_modname, alias->str); - list_del(&alias->node); - free(alias->builtin_modname); - free(alias); - } - write_if_changed(&buf, ".vmlinux.export.c"); free(buf.p); } diff --git a/scripts/mod/modpost.h b/scripts/mod/modpost.h index 2aecb8f25c87..9133e4c3803f 100644 --- a/scripts/mod/modpost.h +++ b/scripts/mod/modpost.h @@ -99,12 +99,10 @@ buf_write(struct buffer *buf, const char *s, int len); * struct module_alias - auto-generated MODULE_ALIAS() * * @node: linked to module::aliases - * @modname: name of the builtin module (only for vmlinux) * @str: a string for MODULE_ALIAS() */ struct module_alias { struct list_head node; - char *builtin_modname; char str[]; }; |