diff options
author | David S. Miller <davem@davemloft.net> | 2011-03-30 17:37:56 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-03-30 17:37:56 -0700 |
commit | 3628aa0657e7bb3548a25fa3ea47510327d35efc (patch) | |
tree | 9735e85a7c184ba242597c97f9f3208bc4ff4690 /arch/sparc/kernel/central.c | |
parent | c897dcf6311ea9c8d24e96cc7f7fe9de58a0a6a2 (diff) | |
download | linux-3628aa0657e7bb3548a25fa3ea47510327d35efc.tar.gz linux-3628aa0657e7bb3548a25fa3ea47510327d35efc.tar.bz2 linux-3628aa0657e7bb3548a25fa3ea47510327d35efc.zip |
sparc64: Fix section mis-match errors.
Fix all of the problems spotted by CONFIG_DEBUG_SECTION_MISMATCH under
arch/sparc during a 64-bit defconfig build.
They fall into two categorites:
1) of_device_id is marked as __initdata, and we can never do this
since these objects sit in the device core data structures way
past boot. So even if a driver will never be reloaded, we have
to keep the device ID table around.
Mark such cases const instead.
2) The bootmem alloc/free handling code in mdesc.c was not fully
marked __init as it should be, thus generating a reference
to free_bootmem_late() (which is __init) from non-__init code.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/kernel/central.c')
-rw-r--r-- | arch/sparc/kernel/central.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/sparc/kernel/central.c b/arch/sparc/kernel/central.c index 136d3718a74a..7eef3f741963 100644 --- a/arch/sparc/kernel/central.c +++ b/arch/sparc/kernel/central.c @@ -140,7 +140,7 @@ out_free: goto out; } -static struct of_device_id __initdata clock_board_match[] = { +static const struct of_device_id clock_board_match[] = { { .name = "clock-board", }, @@ -245,7 +245,7 @@ out_free: goto out; } -static struct of_device_id __initdata fhc_match[] = { +static const struct of_device_id fhc_match[] = { { .name = "fhc", }, |