On Mon, 19 Jul 2010 22:51:42 -0500
Nathan Fontenot <nf...@austin.ibm.com> wrote:

> Move the find_me mory_block() routine up to avoid needing a forward
> declaration in subsequent patches.
> 
> Signed-off-by: Nathan Fontenot <nf...@austin.ibm.com>

Acked-by: KAMEZAWA Hiroyuki <kamezawa.hir...@jp.fujitsu.com>

> ---
>  drivers/base/memory.c |   62 
> +++++++++++++++++++++++++-------------------------
>  1 file changed, 31 insertions(+), 31 deletions(-)
> 
> Index: linux-2.6/drivers/base/memory.c
> ===================================================================
> --- linux-2.6.orig/drivers/base/memory.c      2010-07-16 12:41:30.000000000 
> -0500
> +++ linux-2.6/drivers/base/memory.c   2010-07-19 20:42:11.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)
>  {
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to