Re: [PATCH 2/9] MIPS: Remove "weak" from platform_maar_init() declaration

From: James Hogan
Date: Mon Jul 13 2015 - 05:46:58 EST


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 <bhelgaas@xxxxxxxxxx>
> CC: linux-mips@xxxxxxxxxxxxxx

Reviewed-by: James Hogan <james.hogan@xxxxxxxxxx>

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
>

Attachment: signature.asc
Description: OpenPGP digital signature