Commit abe864b8 authored by Masahiro Yamada's avatar Masahiro Yamada
Browse files

modpost: use sym_get_data() to get module device_table data



Use sym_get_data() to replace the long code.

Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
Reviewed-by: default avatarNick Desaulniers <ndesaulniers@google.com>
parent 5764f662
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -1571,9 +1571,7 @@ void handle_moddevtable(struct module *mod, struct elf_info *info,
		zeros = calloc(1, sym->st_size);
		symval = zeros;
	} else {
		symval = (void *)info->hdr
			+ info->sechdrs[get_secindex(info, sym)].sh_offset
			+ sym->st_value;
		symval = sym_get_data(info, sym);
	}

	/* First handle the "special" cases */
+1 −1
Original line number Diff line number Diff line
@@ -324,7 +324,7 @@ static void *sym_get_data_by_offset(const struct elf_info *info,
	return (void *)info->hdr + sechdr->sh_offset + offset;
}

static void *sym_get_data(const struct elf_info *info, const Elf_Sym *sym)
void *sym_get_data(const struct elf_info *info, const Elf_Sym *sym)
{
	return sym_get_data_by_offset(info, get_secindex(info, sym),
				      sym->st_value);
+1 −0
Original line number Diff line number Diff line
@@ -187,6 +187,7 @@ void get_src_version(const char *modname, char sum[], unsigned sumlen);
/* from modpost.c */
char *read_text_file(const char *filename);
char *get_line(char **stringp);
void *sym_get_data(const struct elf_info *info, const Elf_Sym *sym);

enum loglevel {
	LOG_WARN,