MIPS: Remove "weak" from platform_maar_init() declaration
authorBjorn Helgaas <bhelgaas@google.com>
Sun, 12 Jul 2015 23:11:04 +0000 (18:11 -0500)
committerRalf Baechle <ralf@linux-mips.org>
Wed, 26 Aug 2015 13:23:38 +0000 (15:23 +0200)
Weak header file declarations are error-prone because they make every
definition weak, and the linker chooses one based on link order (see
10629d711ed7 ("PCI: Remove __weak annotation from pcibios_get_phb_of_node
decl")).

platform_maar_init() is defined in:

  - arch/mips/mm/init.c (where it is marked "weak")
  - arch/mips/mti-malta/malta-memory.c (without annotation)

The "weak" attribute on the platform_maar_init() extern declaration applies
to the platform-specific definition in arch/mips/mti-malta/malta-memory.c,
so both definitions are weak, and which one we get depends on link order.

Remove the "weak" attribute from the declaration.  That makes the malta
definition strong, so it will always be preferred if it is present.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
CC: linux-mips@linux-mips.org
Reviewed-by: James Hogan <james.hogan@imgtec.com>
Cc: Andrew Bresticker <abrestic@chromium.org>
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/10682/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/include/asm/maar.h

index 6c62b0f899c0fdae992bd2a3f7c5bcb5eb38ba0d..b02891f9caaf1d8ffecf14b0e0fa7be5b7fb33c8 100644 (file)
@@ -26,7 +26,7 @@
  *
  * Return:     The number of MAAR pairs configured.
  */
-unsigned __weak platform_maar_init(unsigned num_pairs);
+unsigned platform_maar_init(unsigned num_pairs);
 
 /**
  * write_maar_pair() - write to a pair of MAARs