diff options
author | Stephen Boyd <sboyd@codeaurora.org> | 2014-02-26 10:59:22 -0800 |
---|---|---|
committer | Lee Jones <lee.jones@linaro.org> | 2014-03-19 08:58:30 +0000 |
commit | 559c04f6f116075a1ebead411666c7ab47dcc7fe (patch) | |
tree | 5dc69b1a930ad5d9b866b22afa7fc8b88d273328 /include/linux/ssbi.h | |
parent | dc1a95ccaa1158948bbc6648d6dadc534a30ed92 (diff) | |
download | lwn-559c04f6f116075a1ebead411666c7ab47dcc7fe.tar.gz lwn-559c04f6f116075a1ebead411666c7ab47dcc7fe.zip |
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>
Diffstat (limited to 'include/linux/ssbi.h')
-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 @@ int ssbi_write(struct device *dev, u16 addr, const u8 *buf, int len); int ssbi_read(struct device *dev, u16 addr, u8 *buf, int len); +static inline int +ssbi_reg_read(void *context, unsigned int reg, unsigned int *val) +{ + int ret; + u8 v; + + ret = ssbi_read(context, reg, &v, 1); + if (!ret) + *val = v; + + return ret; +} + +static inline int +ssbi_reg_write(void *context, unsigned int reg, unsigned int val) +{ + u8 v = val; + return ssbi_write(context, reg, &v, 1); +} + #endif |