summaryrefslogtreecommitdiff
path: root/arch/powerpc/include/asm/opal.h
diff options
context:
space:
mode:
authorSuraj Jitindar Singh <sjitindarsingh@gmail.com>2016-06-29 06:38:38 +0300
committerMichael Ellerman <mpe@ellerman.id.au>2016-06-29 10:33:18 +0300
commitd0226d315dba5e401a124b394a1af5e35e082b08 (patch)
tree1cd2e85e40b4e49bc53c7de0232d56f69f6daadf /arch/powerpc/include/asm/opal.h
parent1ae88fd54c3ac31f68f91e37f719be7e2dbcc810 (diff)
downloadlinux-d0226d315dba5e401a124b394a1af5e35e082b08.tar.xz
powerpc/opal: Add inline function to get rc from an ASYNC_COMP opal_msg
An opal_msg of type OPAL_MSG_ASYNC_COMP contains the return code in the params[1] struct member. However this isn't intuitive or obvious when reading the code and requires that a user look at the skiboot documentation or opal-api.h to verify this. Add an inline function to get the return code from an opal_msg and update call sites accordingly. Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/include/asm/opal.h')
-rw-r--r--arch/powerpc/include/asm/opal.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/opal.h b/arch/powerpc/include/asm/opal.h
index fa71fea3b6ee..9ab52e27cf71 100644
--- a/arch/powerpc/include/asm/opal.h
+++ b/arch/powerpc/include/asm/opal.h
@@ -282,6 +282,14 @@ extern int opal_error_code(int rc);
ssize_t opal_msglog_copy(char *to, loff_t pos, size_t count);
+static inline int opal_get_async_rc(struct opal_msg msg)
+{
+ if (msg.msg_type != OPAL_MSG_ASYNC_COMP)
+ return OPAL_PARAMETER;
+ else
+ return be64_to_cpu(msg.params[1]);
+}
+
#endif /* __ASSEMBLY__ */
#endif /* _ASM_POWERPC_OPAL_H */