mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
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:
parent
560dca25cd
commit
9ce039a08a
@ -551,29 +551,6 @@ create_most_c_obj(const char *name, struct kobject *parent)
|
|||||||
return c;
|
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___
|
* ___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
|
* reference count of the inst->kobj
|
||||||
*/
|
*/
|
||||||
list_for_each_entry_safe(c, tmp, &inst->channel_list, list) {
|
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);
|
kobject_put(&inst->kobj);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user