Commit 21ba37c9 authored by Al Viro's avatar Al Viro

i2o: use proc_remove_subtree()

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 685e55eb
...@@ -1894,25 +1894,6 @@ static int i2o_proc_create_entries(struct proc_dir_entry *dir, ...@@ -1894,25 +1894,6 @@ static int i2o_proc_create_entries(struct proc_dir_entry *dir,
return 0; return 0;
} }
/**
* i2o_proc_subdir_remove - Remove child entries from a proc entry
* @dir: proc dir entry from which the childs should be removed
*
* Iterate over each i2o proc entry under dir and remove it. If the child
* also has entries, remove them too.
*/
static void i2o_proc_subdir_remove(struct proc_dir_entry *dir)
{
struct proc_dir_entry *pe, *tmp;
pe = dir->subdir;
while (pe) {
tmp = pe->next;
i2o_proc_subdir_remove(pe);
remove_proc_entry(pe->name, dir);
pe = tmp;
}
};
/** /**
* i2o_proc_device_add - Add an I2O device to the proc dir * i2o_proc_device_add - Add an I2O device to the proc dir
* @dir: proc dir entry to which the device should be added * @dir: proc dir entry to which the device should be added
...@@ -1987,31 +1968,6 @@ static int i2o_proc_iop_add(struct proc_dir_entry *dir, ...@@ -1987,31 +1968,6 @@ static int i2o_proc_iop_add(struct proc_dir_entry *dir,
return 0; return 0;
} }
/**
* i2o_proc_iop_remove - Removes an I2O controller from the i2o proc tree
* @dir: parent proc dir entry
* @c: I2O controller which should be removed
*
* Iterate over each i2o proc entry and search controller c. If it is found
* remove it from the tree.
*/
static void i2o_proc_iop_remove(struct proc_dir_entry *dir,
struct i2o_controller *c)
{
struct proc_dir_entry *pe, *tmp;
pe = dir->subdir;
while (pe) {
tmp = pe->next;
if (pe->data == c) {
i2o_proc_subdir_remove(pe);
remove_proc_entry(pe->name, dir);
}
osm_debug("removing IOP /proc/i2o/%s\n", c->name);
pe = tmp;
}
}
/** /**
* i2o_proc_fs_create - Create the i2o proc fs. * i2o_proc_fs_create - Create the i2o proc fs.
* *
...@@ -2042,12 +1998,7 @@ static int __init i2o_proc_fs_create(void) ...@@ -2042,12 +1998,7 @@ static int __init i2o_proc_fs_create(void)
*/ */
static int __exit i2o_proc_fs_destroy(void) static int __exit i2o_proc_fs_destroy(void)
{ {
struct i2o_controller *c; remove_proc_subtree("i2o", NULL);
list_for_each_entry(c, &i2o_controllers, list)
i2o_proc_iop_remove(i2o_proc_dir_root, c);
remove_proc_entry("i2o", NULL);
return 0; return 0;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment