diff options
author | Stephen Boyd <sboyd@codeaurora.org> | 2014-02-26 13:59:22 -0500 |
---|---|---|
committer | Lee Jones <lee.jones@linaro.org> | 2014-03-19 04:58:30 -0400 |
commit | 559c04f6f116075a1ebead411666c7ab47dcc7fe (patch) | |
tree | 5dc69b1a930ad5d9b866b22afa7fc8b88d273328 | |
parent | dc1a95ccaa1158948bbc6648d6dadc534a30ed92 (diff) |
mfd: ssbi: Add regmap read/write helpers
Add read and write helper functions that the pm8921-core driver
can use to read and write ssbi registers via a "no-bus" regmap.
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
-rw-r--r-- | include/linux/ssbi.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/include/linux/ssbi.h b/include/linux/ssbi.h index bcbb642a7641..087b08a4d333 100644 --- a/include/linux/ssbi.h +++ b/include/linux/ssbi.h | |||
@@ -20,4 +20,24 @@ | |||
20 | int ssbi_write(struct device *dev, u16 addr, const u8 *buf, int len); | 20 | int ssbi_write(struct device *dev, u16 addr, const u8 *buf, int len); |
21 | int ssbi_read(struct device *dev, u16 addr, u8 *buf, int len); | 21 | int ssbi_read(struct device *dev, u16 addr, u8 *buf, int len); |
22 | 22 | ||
23 | static inline int | ||
24 | ssbi_reg_read(void *context, unsigned int reg, unsigned int *val) | ||
25 | { | ||
26 | int ret; | ||
27 | u8 v; | ||
28 | |||
29 | ret = ssbi_read(context, reg, &v, 1); | ||
30 | if (!ret) | ||
31 | *val = v; | ||
32 | |||
33 | return ret; | ||
34 | } | ||
35 | |||
36 | static inline int | ||
37 | ssbi_reg_write(void *context, unsigned int reg, unsigned int val) | ||
38 | { | ||
39 | u8 v = val; | ||
40 | return ssbi_write(context, reg, &v, 1); | ||
41 | } | ||
42 | |||
23 | #endif | 43 | #endif |