On 13/07/15 00:11, Bjorn Helgaas wrote:
> 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 <[email protected]>
> CC: [email protected]Reviewed-by: James Hogan <[email protected]> Cheers James > --- > arch/mips/include/asm/maar.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/mips/include/asm/maar.h b/arch/mips/include/asm/maar.h > index 6c62b0f..b02891f 100644 > --- a/arch/mips/include/asm/maar.h > +++ b/arch/mips/include/asm/maar.h > @@ -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 >
signature.asc
Description: OpenPGP digital signature

