Commit befdc746 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Arnd Bergmann

[POWERPC] spu_base: remove cleanup_spu_base

spu_base.c is always built into the kernel image, so there is no need
for a cleanup function.  And some of the things it does are in the
way for my following patches, so I'd rather get rid of it ASAP.
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarArnd Bergmann <arnd.bergmann@de.ibm.com>
parent aa45e256
...@@ -534,12 +534,6 @@ static int spu_create_sysdev(struct spu *spu) ...@@ -534,12 +534,6 @@ static int spu_create_sysdev(struct spu *spu)
return 0; return 0;
} }
static void spu_destroy_sysdev(struct spu *spu)
{
sysfs_remove_device_from_node(&spu->sysdev, spu->node);
sysdev_unregister(&spu->sysdev);
}
static int __init create_spu(void *data) static int __init create_spu(void *data)
{ {
struct spu *spu; struct spu *spu;
...@@ -591,43 +585,17 @@ static int __init create_spu(void *data) ...@@ -591,43 +585,17 @@ static int __init create_spu(void *data)
return ret; return ret;
} }
static void destroy_spu(struct spu *spu)
{
list_del_init(&spu->list);
list_del_init(&spu->full_list);
spu_destroy_sysdev(spu);
spu_free_irqs(spu);
spu_destroy_spu(spu);
kfree(spu);
}
static void cleanup_spu_base(void)
{
struct spu *spu, *tmp;
int node;
mutex_lock(&spu_mutex);
for (node = 0; node < MAX_NUMNODES; node++) {
list_for_each_entry_safe(spu, tmp, &spu_list[node], list)
destroy_spu(spu);
}
mutex_unlock(&spu_mutex);
sysdev_class_unregister(&spu_sysdev_class);
}
module_exit(cleanup_spu_base);
static int __init init_spu_base(void) static int __init init_spu_base(void)
{ {
int i, ret; int i, ret = 0;
if (!spu_management_ops) if (!spu_management_ops)
return 0; goto out;
/* create sysdev class for spus */ /* create sysdev class for spus */
ret = sysdev_class_register(&spu_sysdev_class); ret = sysdev_class_register(&spu_sysdev_class);
if (ret) if (ret)
return ret; goto out;
for (i = 0; i < MAX_NUMNODES; i++) for (i = 0; i < MAX_NUMNODES; i++)
INIT_LIST_HEAD(&spu_list[i]); INIT_LIST_HEAD(&spu_list[i]);
...@@ -637,12 +605,17 @@ static int __init init_spu_base(void) ...@@ -637,12 +605,17 @@ static int __init init_spu_base(void)
if (ret) { if (ret) {
printk(KERN_WARNING "%s: Error initializing spus\n", printk(KERN_WARNING "%s: Error initializing spus\n",
__FUNCTION__); __FUNCTION__);
cleanup_spu_base(); goto out_unregister_sysdev_class;
return ret;
} }
xmon_register_spus(&spu_full_list); xmon_register_spus(&spu_full_list);
return 0;
out_unregister_sysdev_class:
sysdev_class_unregister(&spu_sysdev_class);
out:
return ret; return ret;
} }
module_init(init_spu_base); module_init(init_spu_base);
......
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