aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mfd
diff options
context:
space:
mode:
authorAbhijeet Dharmapurikar <adharmap@codeaurora.org>2011-04-05 17:40:52 -0400
committerSamuel Ortiz <sameo@linux.intel.com>2011-05-26 13:45:27 -0400
commitcbdb53e1f33baf60ded045dc79cd0dd4e9705fa5 (patch)
tree6fba90fb0b27968c75437bf5c5df2c43f15ce64b /include/linux/mfd
parent1305134e8246fb4e86b93d5b6a21caa0e07a8ecf (diff)
mfd: Add Qualcomm PMIC 8921 core driver
Add support for the Qualcomm PM8921 PMIC chip. The core driver will communicate with the PMIC chip via the MSM SSBI bus. Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'include/linux/mfd')
-rw-r--r--include/linux/mfd/pm8xxx/core.h71
-rw-r--r--include/linux/mfd/pm8xxx/pm8921.h27
2 files changed, 98 insertions, 0 deletions
diff --git a/include/linux/mfd/pm8xxx/core.h b/include/linux/mfd/pm8xxx/core.h
new file mode 100644
index 000000000000..36ccb33332ed
--- /dev/null
+++ b/include/linux/mfd/pm8xxx/core.h
@@ -0,0 +1,71 @@
1/*
2 * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 and
6 * only version 2 as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 */
13/*
14 * Qualcomm PMIC 8xxx driver header file
15 *
16 */
17
18#ifndef __MFD_PM8XXX_CORE_H
19#define __MFD_PM8XXX_CORE_H
20
21#include <linux/mfd/core.h>
22
23struct pm8xxx_drvdata {
24 int (*pmic_readb) (const struct device *dev, u16 addr, u8 *val);
25 int (*pmic_writeb) (const struct device *dev, u16 addr, u8 val);
26 int (*pmic_read_buf) (const struct device *dev, u16 addr, u8 *buf,
27 int n);
28 int (*pmic_write_buf) (const struct device *dev, u16 addr, u8 *buf,
29 int n);
30 void *pm_chip_data;
31};
32
33static inline int pm8xxx_readb(const struct device *dev, u16 addr, u8 *val)
34{
35 struct pm8xxx_drvdata *dd = dev_get_drvdata(dev);
36
37 if (!dd)
38 return -EINVAL;
39 return dd->pmic_readb(dev, addr, val);
40}
41
42static inline int pm8xxx_writeb(const struct device *dev, u16 addr, u8 val)
43{
44 struct pm8xxx_drvdata *dd = dev_get_drvdata(dev);
45
46 if (!dd)
47 return -EINVAL;
48 return dd->pmic_writeb(dev, addr, val);
49}
50
51static inline int pm8xxx_read_buf(const struct device *dev, u16 addr, u8 *buf,
52 int n)
53{
54 struct pm8xxx_drvdata *dd = dev_get_drvdata(dev);
55
56 if (!dd)
57 return -EINVAL;
58 return dd->pmic_read_buf(dev, addr, buf, n);
59}
60
61static inline int pm8xxx_write_buf(const struct device *dev, u16 addr, u8 *buf,
62 int n)
63{
64 struct pm8xxx_drvdata *dd = dev_get_drvdata(dev);
65
66 if (!dd)
67 return -EINVAL;
68 return dd->pmic_write_buf(dev, addr, buf, n);
69}
70
71#endif
diff --git a/include/linux/mfd/pm8xxx/pm8921.h b/include/linux/mfd/pm8xxx/pm8921.h
new file mode 100644
index 000000000000..33fbe9c960a3
--- /dev/null
+++ b/include/linux/mfd/pm8xxx/pm8921.h
@@ -0,0 +1,27 @@
1/*
2 * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 and
6 * only version 2 as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 */
13/*
14 * Qualcomm PMIC 8921 driver header file
15 *
16 */
17
18#ifndef __MFD_PM8921_H
19#define __MFD_PM8921_H
20
21#include <linux/device.h>
22
23struct pm8921_platform_data {
24 int irq_base;
25};
26
27#endif