Re: [PATCH 2/2] opal: Add message notifier unregister function

2015-02-12 Thread Neelesh Gupta


On 02/11/2015 04:27 PM, Anshuman Khandual wrote:

On 02/11/2015 11:57 AM, Neelesh Gupta wrote:

Provide an unregister interface for the opal message notifiers
to be called when not needed like during driver unload/remove.

Why only for unload/remove, you can also use it in cases where you need
to abort because of any other error soon after successful registration
for an OPAL message.


I didn't mean *only* driver unload/remove.. gave a simple use case of why do
we need this change.

Neelesh.





___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH 2/2] opal: Add message notifier unregister function

2015-02-11 Thread Anshuman Khandual
On 02/11/2015 11:57 AM, Neelesh Gupta wrote:
 Provide an unregister interface for the opal message notifiers
 to be called when not needed like during driver unload/remove.

Why only for unload/remove, you can also use it in cases where you need
to abort because of any other error soon after successful registration
for an OPAL message. 

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH 2/2] opal: Add message notifier unregister function

2015-02-10 Thread Neelesh Gupta
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 neele...@linux.vnet.ibm.com
Reviewed-by: Vasant Hegde hegdevas...@linux.vnet.ibm.com
---
 arch/powerpc/include/asm/opal.h   |2 ++
 arch/powerpc/platforms/powernv/opal.c |7 +++
 2 files changed, 9 insertions(+)

diff --git a/arch/powerpc/include/asm/opal.h b/arch/powerpc/include/asm/opal.h
index eb95b67..70eb45f 100644
--- a/arch/powerpc/include/asm/opal.h
+++ b/arch/powerpc/include/asm/opal.h
@@ -940,6 +940,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);
diff --git a/arch/powerpc/platforms/powernv/opal.c 
b/arch/powerpc/platforms/powernv/opal.c
index 2651e22..6c108ce 100644
--- a/arch/powerpc/platforms/powernv/opal.c
+++ b/arch/powerpc/platforms/powernv/opal.c
@@ -315,6 +315,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 */

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH 2/2] opal: Add message notifier unregister function

2015-02-10 Thread Neelesh Gupta
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 neele...@linux.vnet.ibm.com
Reviewed-by: Vasant Hegde hegdevas...@linux.vnet.ibm.com
---
 arch/powerpc/include/asm/opal.h   |2 ++
 arch/powerpc/platforms/powernv/opal.c |7 +++
 2 files changed, 9 insertions(+)

diff --git a/arch/powerpc/include/asm/opal.h b/arch/powerpc/include/asm/opal.h
index eb95b67..70eb45f 100644
--- a/arch/powerpc/include/asm/opal.h
+++ b/arch/powerpc/include/asm/opal.h
@@ -940,6 +940,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);
diff --git a/arch/powerpc/platforms/powernv/opal.c 
b/arch/powerpc/platforms/powernv/opal.c
index 2651e22..6c108ce 100644
--- a/arch/powerpc/platforms/powernv/opal.c
+++ b/arch/powerpc/platforms/powernv/opal.c
@@ -315,6 +315,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 */

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev