From: Michal MalĂ˝ Date: Wed, 13 Aug 2014 09:54:56 +0000 (+0200) Subject: Allow plugins state unlocking without rescheduling X-Git-Url: https://gitweb.devoid-pointer.net/?a=commitdiff_plain;h=60fcf18e5f9de5508f4ce4bdceb845c97b4362f6;p=KLGD.git Allow plugins state unlocking without rescheduling --- diff --git a/klgd.c b/klgd.c index da11a7a..44f2328 100644 --- a/klgd.c +++ b/klgd.c @@ -302,13 +302,21 @@ int klgd_register_plugin(struct klgd_main *ctx, size_t idx, struct klgd_plugin * } EXPORT_SYMBOL_GPL(klgd_register_plugin); +void klgd_unlock_plugins(struct mutex *lock) +{ + mutex_unlock(lock); + printk(KERN_DEBUG "KLGD: Plugins state unlocked, NOT scheduled\n"); +} +EXPORT_SYMBOL_GPL(klgd_unlock_plugins); + + void klgd_unlock_plugins_sched(struct mutex *lock) { struct klgd_main_private *priv = container_of(lock, struct klgd_main_private, plugins_lock); klgd_schedule_update(priv); mutex_unlock(lock); - printk(KERN_DEBUG "KLGD: Plugins state unlocked\n"); + printk(KERN_DEBUG "KLGD: Plugins state unlocked, rescheduled\n"); } EXPORT_SYMBOL_GPL(klgd_unlock_plugins_sched); diff --git a/klgd.h b/klgd.h index 0bcd8d8..588b289 100644 --- a/klgd.h +++ b/klgd.h @@ -37,4 +37,5 @@ int klgd_init(struct klgd_main *ctx, void *dev_ctx, enum klgd_send_status (*call void klgd_lock_plugins(struct mutex *lock); void klgd_notify_commands_sent(struct klgd_main *ctx); int klgd_register_plugin(struct klgd_main *ctx, const size_t idx, struct klgd_plugin *plugin); +void klgd_unlock_plugins(struct mutex *lock); void klgd_unlock_plugins_sched(struct mutex *lock);