diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-01-21 04:28:53 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-01-21 10:46:25 -0500 |
commit | 2a7f51a3e08cdaeea78d9e101a0079422a55bbc3 (patch) | |
tree | aa7bd825268bcd0438f502dbf90de03844cf90c5 /include | |
parent | 98250221691f728b7cad6deed98866f8847e683f (diff) |
MFD: mcp-core: fix mcp_priv() to be more type safe
mcp_priv() does unexpected things when passed a void pointer. Make it
a typed inline function, which ensures that it works correctly in
these cases.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/mfd/mcp.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/include/linux/mfd/mcp.h b/include/linux/mfd/mcp.h index ee496708e38b..f88c1cc0cb0f 100644 --- a/include/linux/mfd/mcp.h +++ b/include/linux/mfd/mcp.h | |||
@@ -64,6 +64,9 @@ void mcp_driver_unregister(struct mcp_driver *); | |||
64 | #define mcp_get_drvdata(mcp) dev_get_drvdata(&(mcp)->attached_device) | 64 | #define mcp_get_drvdata(mcp) dev_get_drvdata(&(mcp)->attached_device) |
65 | #define mcp_set_drvdata(mcp,d) dev_set_drvdata(&(mcp)->attached_device, d) | 65 | #define mcp_set_drvdata(mcp,d) dev_set_drvdata(&(mcp)->attached_device, d) |
66 | 66 | ||
67 | #define mcp_priv(mcp) ((void *)((mcp)+1)) | 67 | static inline void *mcp_priv(struct mcp *mcp) |
68 | { | ||
69 | return mcp + 1; | ||
70 | } | ||
68 | 71 | ||
69 | #endif | 72 | #endif |