diff options
author | Stephen Boyd | 2014-02-26 19:59:22 +0100 |
---|---|---|
committer | Lee Jones | 2014-03-19 09:58:30 +0100 |
commit | 559c04f6f116075a1ebead411666c7ab47dcc7fe (patch) | |
tree | 5dc69b1a930ad5d9b866b22afa7fc8b88d273328 /include/linux/ssbi.h | |
parent | mfd: pm8921: Migrate to irqdomains (diff) | |
download | kernel-qcow2-linux-559c04f6f116075a1ebead411666c7ab47dcc7fe.tar.gz kernel-qcow2-linux-559c04f6f116075a1ebead411666c7ab47dcc7fe.tar.xz kernel-qcow2-linux-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 |