diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-01-21 10:28:53 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-01-21 16:46:25 +0100 |
commit | 2a7f51a3e08cdaeea78d9e101a0079422a55bbc3 (patch) | |
tree | aa7bd825268bcd0438f502dbf90de03844cf90c5 /include | |
parent | MFD: mcp-core: fix complaints from the genirq layer (diff) | |
download | linux-2a7f51a3e08cdaeea78d9e101a0079422a55bbc3.tar.xz linux-2a7f51a3e08cdaeea78d9e101a0079422a55bbc3.zip |
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 *); #define mcp_get_drvdata(mcp) dev_get_drvdata(&(mcp)->attached_device) #define mcp_set_drvdata(mcp,d) dev_set_drvdata(&(mcp)->attached_device, d) -#define mcp_priv(mcp) ((void *)((mcp)+1)) +static inline void *mcp_priv(struct mcp *mcp) +{ + return mcp + 1; +} #endif |