Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

[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
Loading
Loading
Loading
Loading
+10 −37
Original line number Diff line number Diff line
@@ -534,12 +534,6 @@ static int spu_create_sysdev(struct spu *spu)
	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)
{
	struct spu *spu;
@@ -591,43 +585,17 @@ static int __init create_spu(void *data)
	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)
{
	int i, ret;
	int i, ret = 0;

	if (!spu_management_ops)
		return 0;
		goto out;

	/* create sysdev class for spus */
	ret = sysdev_class_register(&spu_sysdev_class);
	if (ret)
		return ret;
		goto out;

	for (i = 0; i < MAX_NUMNODES; i++)
		INIT_LIST_HEAD(&spu_list[i]);
@@ -637,12 +605,17 @@ static int __init init_spu_base(void)
	if (ret) {
		printk(KERN_WARNING "%s: Error initializing spus\n",
			__FUNCTION__);
		cleanup_spu_base();
		return ret;
		goto out_unregister_sysdev_class;
	}

	xmon_register_spus(&spu_full_list);

	return 0;

 out_unregister_sysdev_class:
	sysdev_class_unregister(&spu_sysdev_class);
 out:

	return ret;
}
module_init(init_spu_base);