sparc64: Fix section mis-match errors.
authorDavid S. Miller <davem@davemloft.net>
Thu, 31 Mar 2011 00:37:56 +0000 (17:37 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 31 Mar 2011 00:37:56 +0000 (17:37 -0700)
commit3628aa0657e7bb3548a25fa3ea47510327d35efc
tree9735e85a7c184ba242597c97f9f3208bc4ff4690
parentc897dcf6311ea9c8d24e96cc7f7fe9de58a0a6a2
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>
arch/sparc/kernel/auxio_64.c
arch/sparc/kernel/central.c
arch/sparc/kernel/ds.c
arch/sparc/kernel/mdesc.c
arch/sparc/kernel/pci_fire.c
arch/sparc/kernel/pci_psycho.c
arch/sparc/kernel/pci_sabre.c
arch/sparc/kernel/pci_schizo.c
arch/sparc/kernel/pci_sun4v.c
arch/sparc/kernel/power.c
arch/sparc/kernel/time_64.c