]> Devoid-pointer.net GitWeb - KLGD.git/commitdiff
Allow plugins state unlocking without rescheduling
authorMichal Malý <madcatxster@devoid-pointer.net>
Wed, 13 Aug 2014 09:54:56 +0000 (11:54 +0200)
committerMichal Malý <madcatxster@devoid-pointer.net>
Wed, 13 Aug 2014 09:54:56 +0000 (11:54 +0200)
klgd.c
klgd.h

diff --git a/klgd.c b/klgd.c
index da11a7aa71bf4e14d87cffb4d67d06f84574d13d..44f2328ce3e0f1d36008db555207a61d62034e2b 100644 (file)
--- 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 0bcd8d8a6420c8c0e779043b7904d1ddafabfca6..588b2891f423c98bf01da4c3fa548a702104f6fa 100644 (file)
--- 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);