On Mon, 19 Jul 2010 22:51:42 -0500 Nathan Fontenot <nfont@xxxxxxxxxxxxxx> wrote: > Move the find_me mory_block() routine up to avoid needing a forward > declaration in subsequent patches. > > Signed-off-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxx> Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> > --- > 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 majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>