Commit 9ce039a0 authored by Christian Gromm's avatar Christian Gromm Committed by Greg Kroah-Hartman
Browse files

staging: most: remove function destroy_most_c_obj



This patch removes the function destroy_most_c_obj and executes its code
within function destroy_most_inst_obj.

Signed-off-by: default avatarChristian Gromm <christian.gromm@microchip.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 560dca25
Loading
Loading
Loading
Loading
+14 −24
Original line number Diff line number Diff line
@@ -551,29 +551,6 @@ create_most_c_obj(const char *name, struct kobject *parent)
	return c;
}

/**
 * destroy_most_c_obj - channel release function
 * @c: pointer to channel object
 *
 * This decrements the reference counter of the channel object.
 * If the reference count turns zero, its release function is called.
 */
static void destroy_most_c_obj(struct most_c_obj *c)
{
	if (c->aim0.ptr)
		c->aim0.ptr->disconnect_channel(c->iface, c->channel_id);
	if (c->aim1.ptr)
		c->aim1.ptr->disconnect_channel(c->iface, c->channel_id);
	c->aim0.ptr = NULL;
	c->aim1.ptr = NULL;

	mutex_lock(&deregister_mutex);
	flush_trash_fifo(c);
	flush_channel_fifos(c);
	mutex_unlock(&deregister_mutex);
	kobject_put(&c->kobj);
}

/*		     ___	       ___
 *		     ___I N S T A N C E___
 */
@@ -766,7 +743,20 @@ static void destroy_most_inst_obj(struct most_inst_obj *inst)
	 * reference count of the inst->kobj
	 */
	list_for_each_entry_safe(c, tmp, &inst->channel_list, list) {
		destroy_most_c_obj(c);
		if (c->aim0.ptr)
			c->aim0.ptr->disconnect_channel(c->iface,
							c->channel_id);
		if (c->aim1.ptr)
			c->aim1.ptr->disconnect_channel(c->iface,
							c->channel_id);
		c->aim0.ptr = NULL;
		c->aim1.ptr = NULL;

		mutex_lock(&deregister_mutex);
		flush_trash_fifo(c);
		flush_channel_fifos(c);
		mutex_unlock(&deregister_mutex);
		kobject_put(&c->kobj);
	}
	kobject_put(&inst->kobj);
}