summaryrefslogtreecommitdiff
path: root/include/linux/ssbi.h
diff options
context:
space:
mode:
authorStephen Boyd <sboyd@codeaurora.org>2014-02-26 10:59:22 -0800
committerLee Jones <lee.jones@linaro.org>2014-03-19 08:58:30 +0000
commit559c04f6f116075a1ebead411666c7ab47dcc7fe (patch)
tree5dc69b1a930ad5d9b866b22afa7fc8b88d273328 /include/linux/ssbi.h
parentdc1a95ccaa1158948bbc6648d6dadc534a30ed92 (diff)
downloadlwn-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.h20
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