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: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Christian Gromm 2015-12-22 10:52:50 +01:00 committed by Greg Kroah-Hartman
parent 560dca25cd
commit 9ce039a08a

View File

@ -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);
}