|
@@ -62,8 +62,8 @@ void unregister_memory_notifier(struct notifier_block *nb)
|
|
|
/*
|
|
|
* register_memory - Setup a sysfs device for a memory block
|
|
|
*/
|
|
|
-int register_memory(struct memory_block *memory, struct mem_section *section,
|
|
|
- struct node *root)
|
|
|
+static
|
|
|
+int register_memory(struct memory_block *memory, struct mem_section *section)
|
|
|
{
|
|
|
int error;
|
|
|
|
|
@@ -71,26 +71,18 @@ int register_memory(struct memory_block *memory, struct mem_section *section,
|
|
|
memory->sysdev.id = __section_nr(section);
|
|
|
|
|
|
error = sysdev_register(&memory->sysdev);
|
|
|
-
|
|
|
- if (root && !error)
|
|
|
- error = sysfs_create_link(&root->sysdev.kobj,
|
|
|
- &memory->sysdev.kobj,
|
|
|
- kobject_name(&memory->sysdev.kobj));
|
|
|
-
|
|
|
return error;
|
|
|
}
|
|
|
|
|
|
static void
|
|
|
-unregister_memory(struct memory_block *memory, struct mem_section *section,
|
|
|
- struct node *root)
|
|
|
+unregister_memory(struct memory_block *memory, struct mem_section *section)
|
|
|
{
|
|
|
BUG_ON(memory->sysdev.cls != &memory_sysdev_class);
|
|
|
BUG_ON(memory->sysdev.id != __section_nr(section));
|
|
|
|
|
|
+ /* drop the ref. we got in remove_memory_block() */
|
|
|
+ kobject_put(&memory->sysdev.kobj);
|
|
|
sysdev_unregister(&memory->sysdev);
|
|
|
- if (root)
|
|
|
- sysfs_remove_link(&root->sysdev.kobj,
|
|
|
- kobject_name(&memory->sysdev.kobj));
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -345,7 +337,7 @@ static int add_memory_block(unsigned long node_id, struct mem_section *section,
|
|
|
mutex_init(&mem->state_mutex);
|
|
|
mem->phys_device = phys_device;
|
|
|
|
|
|
- ret = register_memory(mem, section, NULL);
|
|
|
+ ret = register_memory(mem, section);
|
|
|
if (!ret)
|
|
|
ret = mem_create_simple_file(mem, phys_index);
|
|
|
if (!ret)
|
|
@@ -396,7 +388,7 @@ int remove_memory_block(unsigned long node_id, struct mem_section *section,
|
|
|
mem_remove_simple_file(mem, phys_index);
|
|
|
mem_remove_simple_file(mem, state);
|
|
|
mem_remove_simple_file(mem, phys_device);
|
|
|
- unregister_memory(mem, section, NULL);
|
|
|
+ unregister_memory(mem, section);
|
|
|
|
|
|
return 0;
|
|
|
}
|