Skip to content

Commit

Permalink
mm: fix section mismatch warnings
Browse files Browse the repository at this point in the history
modpost had two cases hardcoded for mm/
Shift over to __init_refok and kill the
hardcoded function names in modpost.

This has the drawback that the functions
will always be kept no matter configuration.
With previous code the function were placed in
init section if configuration allowed it.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
  • Loading branch information
sravnborg committed May 19, 2007
1 parent 9208030 commit 577a32f
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 22 deletions.
4 changes: 2 additions & 2 deletions mm/page_alloc.c
Original file line number Diff line number Diff line change
Expand Up @@ -2165,7 +2165,7 @@ void __init setup_per_cpu_pageset(void)

#endif

static __meminit noinline
static noinline __init_refok
int zone_wait_table_init(struct zone *zone, unsigned long zone_size_pages)
{
int i;
Expand Down Expand Up @@ -2678,7 +2678,7 @@ static void __meminit free_area_init_core(struct pglist_data *pgdat,
}
}

static void __meminit alloc_node_mem_map(struct pglist_data *pgdat)
static void __init_refok alloc_node_mem_map(struct pglist_data *pgdat)
{
/* Skip empty nodes */
if (!pgdat->node_spanned_pages)
Expand Down
2 changes: 1 addition & 1 deletion mm/sparse.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ EXPORT_SYMBOL(page_to_nid);
#endif

#ifdef CONFIG_SPARSEMEM_EXTREME
static struct mem_section noinline *sparse_index_alloc(int nid)
static struct mem_section noinline __init_refok *sparse_index_alloc(int nid)
{
struct mem_section *section = NULL;
unsigned long array_size = SECTIONS_PER_ROOT *
Expand Down
19 changes: 0 additions & 19 deletions scripts/mod/modpost.c
Original file line number Diff line number Diff line change
Expand Up @@ -641,12 +641,6 @@ static int strrcmp(const char *s, const char *sub)
* tosec = .init.text
* fromsec = .paravirtprobe
*
* Pattern 9:
* Some of functions are common code between boot time and hotplug
* time. The bootmem allocater is called only boot time in its
* functions. So it's ok to reference.
* tosec = .init.text
*
* Pattern 10:
* ia64 has machvec table for each platform and
* powerpc has a machine desc table for each platform.
Expand Down Expand Up @@ -678,12 +672,6 @@ static int secref_whitelist(const char *modname, const char *tosec,
NULL
};

const char *pat4sym[] = {
"sparse_index_alloc",
"zone_wait_table_init",
NULL
};

/* Check for pattern 0 */
if ((strcmp(fromsec, ".text.init.refok") == 0) ||
(strcmp(fromsec, ".data.init.refok") == 0))
Expand Down Expand Up @@ -741,13 +729,6 @@ static int secref_whitelist(const char *modname, const char *tosec,
(strcmp(fromsec, ".paravirtprobe") == 0))
return 1;

/* Check for pattern 9 */
if ((strcmp(tosec, ".init.text") == 0) &&
(strcmp(fromsec, ".text") == 0))
for (s = pat4sym; *s; s++)
if (strcmp(atsym, *s) == 0)
return 1;

/* Check for pattern 10 */
if ((strcmp(fromsec, ".machvec") == 0) ||
(strcmp(fromsec, ".machine.desc") == 0))
Expand Down

0 comments on commit 577a32f

Please sign in to comment.