powerpc/powernv: Add OPAL message notifier unregister function
authorNeelesh Gupta <neelegup@linux.vnet.ibm.com>
Wed, 11 Feb 2015 06:27:23 +0000 (11:57 +0530)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 25 Mar 2015 05:53:28 +0000 (16:53 +1100)
Provide an unregister interface for the opal message notifiers
to be called when not needed like during driver unload/remove.

Signed-off-by: Neelesh Gupta <neelegup@linux.vnet.ibm.com>
Reviewed-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/include/asm/opal.h
arch/powerpc/platforms/powernv/opal.c

index 9ee0a30a02cefc6a43e7498fad2a548de72e54fa..4ea21ea6a999f87f2e85155d0df2d5b67fc4122b 100644 (file)
@@ -948,6 +948,8 @@ extern int opal_notifier_unregister(struct notifier_block *nb);
 
 extern int opal_message_notifier_register(enum OpalMessageType msg_type,
                                                struct notifier_block *nb);
+extern int opal_message_notifier_unregister(enum OpalMessageType msg_type,
+                                           struct notifier_block *nb);
 extern void opal_notifier_enable(void);
 extern void opal_notifier_disable(void);
 extern void opal_notifier_update_evt(uint64_t evt_mask, uint64_t evt_val);
index b0021ac3e0a8cb9c4edddaff180043394f20c915..8b3834a095f7033256ae372712f580b72833e58a 100644 (file)
@@ -318,6 +318,13 @@ int opal_message_notifier_register(enum OpalMessageType msg_type,
                                &opal_msg_notifier_head[msg_type], nb);
 }
 
+int opal_message_notifier_unregister(enum OpalMessageType msg_type,
+                                    struct notifier_block *nb)
+{
+       return atomic_notifier_chain_unregister(
+                       &opal_msg_notifier_head[msg_type], nb);
+}
+
 static void opal_message_do_notify(uint32_t msg_type, void *msg)
 {
        /* notify subscribers */