lkml.org 
[lkml]   [2014]   [Oct]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH v1 09/10] memory-hotplug: Remove "weak" from memory_block_size_bytes() declaration
    [+cc Rashika, Nathan, Anton, Blanchard, Heiko, Yinghai, Martin,
    linux-s390; sorry, I botched my "stg mail" so you weren't included the
    first time. s390 and x86 define their own memory_block_size_bytes()
    and are at risk for this problem.]

    On Wed, Oct 15, 2014 at 11:06 AM, Bjorn Helgaas <bhelgaas@google.com> wrote:
    > drivers/base/memory.c provides a default memory_block_size_bytes()
    > definition explicitly marked "weak". Several architectures provide their
    > own definitions intended to override the default, but the "weak" attribute
    > on the declaration applied to the arch definitions as well, so the linker
    > chose one based on link order (see 10629d711ed7 ("PCI: Remove __weak
    > annotation from pcibios_get_phb_of_node decl")).
    >
    > Remove the "weak" attribute from the declaration so we always prefer a
    > non-weak definition over the weak one, independent of link order.
    >
    > Fixes: 41f107266b19 ("drivers: base: Add prototype declaration to the header file")
    > Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    > CC: Rashika Kheria <rashika.kheria@gmail.com>
    > CC: Nathan Fontenot <nfont@austin.ibm.com>
    > CC: Anton Blanchard <anton@au1.ibm.com>
    > CC: Heiko Carstens <heiko.carstens@de.ibm.com>
    > CC: Yinghai Lu <yinghai@kernel.org>
    > ---
    > include/linux/memory.h | 2 +-
    > 1 file changed, 1 insertion(+), 1 deletion(-)
    >
    > diff --git a/include/linux/memory.h b/include/linux/memory.h
    > index bb7384e3c3d8..8b8d8d12348e 100644
    > --- a/include/linux/memory.h
    > +++ b/include/linux/memory.h
    > @@ -35,7 +35,7 @@ struct memory_block {
    > };
    >
    > int arch_get_memory_phys_device(unsigned long start_pfn);
    > -unsigned long __weak memory_block_size_bytes(void);
    > +unsigned long memory_block_size_bytes(void);
    >
    > /* These states are exposed to userspace as text strings in sysfs */
    > #define MEM_ONLINE (1<<0) /* exposed to userspace */
    >


    \
     
     \ /
      Last update: 2014-10-16 02:21    [W:5.025 / U:0.556 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site