Hi Bjorn, On Tue, Jul 14, 2015 at 9:46 AM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> 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")). > > get_c0_perfcount_int() is defined in several files. Every definition is > weak, so I assume Kconfig prevents two or more from being included. The > callers contain identical default code used when get_c0_perfcount_int() > isn't defined at all. > > Add a weak get_c0_perfcount_int() definition with the default code and > remove the weak annotation from the declaration. > > Then the platform implementations will be strong and will override the weak > default. If multiple platforms are ever configured in, we'll get a link > error instead of calling a random platform's implementation. > > Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> > CC: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Reviewed-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx>