staging: most: remove redundant mutexes
This patch removes the mutexes stop_task_mutex and deregister mutex, since they can safely be left out. Signed-off-by: Christian Gromm <christian.gromm@microchip.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
b522e61fb6
commit
61f6bfcbae
|
@ -65,7 +65,6 @@ struct most_c_obj {
|
||||||
struct most_c_aim_obj aim1;
|
struct most_c_aim_obj aim1;
|
||||||
struct list_head trash_fifo;
|
struct list_head trash_fifo;
|
||||||
struct task_struct *hdm_enqueue_task;
|
struct task_struct *hdm_enqueue_task;
|
||||||
struct mutex stop_task_mutex;
|
|
||||||
wait_queue_head_t hdm_fifo_wq;
|
wait_queue_head_t hdm_fifo_wq;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -93,8 +92,6 @@ struct most_inst_obj {
|
||||||
_mbo; \
|
_mbo; \
|
||||||
})
|
})
|
||||||
|
|
||||||
static struct mutex deregister_mutex;
|
|
||||||
|
|
||||||
/* ___ ___
|
/* ___ ___
|
||||||
* ___C H A N N E L___
|
* ___C H A N N E L___
|
||||||
*/
|
*/
|
||||||
|
@ -737,10 +734,8 @@ static void destroy_most_inst_obj(struct most_inst_obj *inst)
|
||||||
struct most_c_obj *c, *tmp;
|
struct most_c_obj *c, *tmp;
|
||||||
|
|
||||||
list_for_each_entry_safe(c, tmp, &inst->channel_list, list) {
|
list_for_each_entry_safe(c, tmp, &inst->channel_list, list) {
|
||||||
mutex_lock(&deregister_mutex);
|
|
||||||
flush_trash_fifo(c);
|
flush_trash_fifo(c);
|
||||||
flush_channel_fifos(c);
|
flush_channel_fifos(c);
|
||||||
mutex_unlock(&deregister_mutex);
|
|
||||||
kobject_put(&c->kobj);
|
kobject_put(&c->kobj);
|
||||||
}
|
}
|
||||||
kobject_put(&inst->kobj);
|
kobject_put(&inst->kobj);
|
||||||
|
@ -1575,11 +1570,9 @@ int most_stop_channel(struct most_interface *iface, int id,
|
||||||
if (c->aim0.refs + c->aim1.refs >= 2)
|
if (c->aim0.refs + c->aim1.refs >= 2)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
mutex_lock(&c->stop_task_mutex);
|
|
||||||
if (c->hdm_enqueue_task)
|
if (c->hdm_enqueue_task)
|
||||||
kthread_stop(c->hdm_enqueue_task);
|
kthread_stop(c->hdm_enqueue_task);
|
||||||
c->hdm_enqueue_task = NULL;
|
c->hdm_enqueue_task = NULL;
|
||||||
mutex_unlock(&c->stop_task_mutex);
|
|
||||||
|
|
||||||
if (iface->mod)
|
if (iface->mod)
|
||||||
module_put(iface->mod);
|
module_put(iface->mod);
|
||||||
|
@ -1757,7 +1750,6 @@ struct kobject *most_register_interface(struct most_interface *iface)
|
||||||
init_completion(&c->cleanup);
|
init_completion(&c->cleanup);
|
||||||
atomic_set(&c->mbo_ref, 0);
|
atomic_set(&c->mbo_ref, 0);
|
||||||
mutex_init(&c->start_mutex);
|
mutex_init(&c->start_mutex);
|
||||||
mutex_init(&c->stop_task_mutex);
|
|
||||||
list_add_tail(&c->list, &inst->channel_list);
|
list_add_tail(&c->list, &inst->channel_list);
|
||||||
}
|
}
|
||||||
pr_info("registered new MOST device mdev%d (%s)\n",
|
pr_info("registered new MOST device mdev%d (%s)\n",
|
||||||
|
@ -1853,7 +1845,6 @@ static int __init most_init(void)
|
||||||
pr_info("init()\n");
|
pr_info("init()\n");
|
||||||
INIT_LIST_HEAD(&instance_list);
|
INIT_LIST_HEAD(&instance_list);
|
||||||
INIT_LIST_HEAD(&aim_list);
|
INIT_LIST_HEAD(&aim_list);
|
||||||
mutex_init(&deregister_mutex);
|
|
||||||
ida_init(&mdev_id);
|
ida_init(&mdev_id);
|
||||||
|
|
||||||
if (bus_register(&most_bus)) {
|
if (bus_register(&most_bus)) {
|
||||||
|
|
Loading…
Reference in New Issue