lkml.org 
[lkml]   [2010]   [Sep]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 1/8] Move find_memory_block() routine
    Move the find_memory_block() routine up to avoid needing a forward
    declaration in subsequent patches.

    Signed-off-by: Nathan Fontenot <nfont@austin.ibm.com>

    ---
    drivers/base/memory.c | 62 +++++++++++++++++++++++++-------------------------
    1 file changed, 31 insertions(+), 31 deletions(-)

    Index: linux-next/drivers/base/memory.c
    ===================================================================
    --- linux-next.orig/drivers/base/memory.c 2010-09-21 11:59:24.000000000 -0500
    +++ linux-next/drivers/base/memory.c 2010-09-21 12:32:45.000000000 -0500
    @@ -435,6 +435,37 @@ int __weak arch_get_memory_phys_device(u
    return 0;
    }

    +/*
    + * For now, we have a linear search to go find the appropriate
    + * memory_block corresponding to a particular phys_index. If
    + * this gets to be a real problem, we can always use a radix
    + * tree or something here.
    + *
    + * This could be made generic for all sysdev classes.
    + */
    +struct memory_block *find_memory_block(struct mem_section *section)
    +{
    + struct kobject *kobj;
    + struct sys_device *sysdev;
    + struct memory_block *mem;
    + char name[sizeof(MEMORY_CLASS_NAME) + 9 + 1];
    +
    + /*
    + * This only works because we know that section == sysdev->id
    + * slightly redundant with sysdev_register()
    + */
    + sprintf(&name[0], "%s%d", MEMORY_CLASS_NAME, __section_nr(section));
    +
    + kobj = kset_find_obj(&memory_sysdev_class.kset, name);
    + if (!kobj)
    + return NULL;
    +
    + sysdev = container_of(kobj, struct sys_device, kobj);
    + mem = container_of(sysdev, struct memory_block, sysdev);
    +
    + return mem;
    +}
    +
    static int add_memory_block(int nid, struct mem_section *section,
    unsigned long state, enum mem_add_context context)
    {
    @@ -468,37 +499,6 @@ static int add_memory_block(int nid, str
    return ret;
    }

    -/*
    - * For now, we have a linear search to go find the appropriate
    - * memory_block corresponding to a particular phys_index. If
    - * this gets to be a real problem, we can always use a radix
    - * tree or something here.
    - *
    - * This could be made generic for all sysdev classes.
    - */
    -struct memory_block *find_memory_block(struct mem_section *section)
    -{
    - struct kobject *kobj;
    - struct sys_device *sysdev;
    - struct memory_block *mem;
    - char name[sizeof(MEMORY_CLASS_NAME) + 9 + 1];
    -
    - /*
    - * This only works because we know that section == sysdev->id
    - * slightly redundant with sysdev_register()
    - */
    - sprintf(&name[0], "%s%d", MEMORY_CLASS_NAME, __section_nr(section));
    -
    - kobj = kset_find_obj(&memory_sysdev_class.kset, name);
    - if (!kobj)
    - return NULL;
    -
    - sysdev = container_of(kobj, struct sys_device, kobj);
    - mem = container_of(sysdev, struct memory_block, sysdev);
    -
    - return mem;
    -}
    -
    int remove_memory_block(unsigned long node_id, struct mem_section *section,
    int phys_device)
    {



    \
     
     \ /
      Last update: 2010-09-22 16:31    [W:3.217 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site