diff options
author | Sangbeom Kim <sbkim73@samsung.com> | 2012-07-11 08:08:11 -0400 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2012-07-16 08:31:59 -0400 |
commit | 6445b84abf91549d8568fb5d9155447e6dba86cc (patch) | |
tree | 07b8341d4360f80630146cb21c171d6e518202d9 /include/linux/mfd/samsung | |
parent | 9b6d1343068d87f06c8dabf6628a30ea38082eb0 (diff) |
mfd: Add s2mps11 irq driver
This patch support irq handling driver for s2mps11.
As this patch use regmap_irq, s5m8767 and s5m8763 are modified with
regmap_irq.
Signed-off-by: Sangbeom Kim <sbkim73@samsung.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'include/linux/mfd/samsung')
-rw-r--r-- | include/linux/mfd/samsung/core.h | 2 | ||||
-rw-r--r-- | include/linux/mfd/samsung/irq.h | 42 |
2 files changed, 44 insertions, 0 deletions
diff --git a/include/linux/mfd/samsung/core.h b/include/linux/mfd/samsung/core.h index 323e200bc82c..b50c38f8bc48 100644 --- a/include/linux/mfd/samsung/core.h +++ b/include/linux/mfd/samsung/core.h | |||
@@ -48,6 +48,8 @@ struct sec_pmic_dev { | |||
48 | int device_type; | 48 | int device_type; |
49 | int irq_base; | 49 | int irq_base; |
50 | int irq; | 50 | int irq; |
51 | struct regmap_irq_chip_data *irq_data; | ||
52 | |||
51 | int ono; | 53 | int ono; |
52 | u8 irq_masks_cur[NUM_IRQ_REGS]; | 54 | u8 irq_masks_cur[NUM_IRQ_REGS]; |
53 | u8 irq_masks_cache[NUM_IRQ_REGS]; | 55 | u8 irq_masks_cache[NUM_IRQ_REGS]; |
diff --git a/include/linux/mfd/samsung/irq.h b/include/linux/mfd/samsung/irq.h index 7f7a6248f707..d43b4f9e7fb2 100644 --- a/include/linux/mfd/samsung/irq.h +++ b/include/linux/mfd/samsung/irq.h | |||
@@ -13,6 +13,48 @@ | |||
13 | #ifndef __LINUX_MFD_SEC_IRQ_H | 13 | #ifndef __LINUX_MFD_SEC_IRQ_H |
14 | #define __LINUX_MFD_SEC_IRQ_H | 14 | #define __LINUX_MFD_SEC_IRQ_H |
15 | 15 | ||
16 | enum s2mps11_irq { | ||
17 | S2MPS11_IRQ_PWRONF, | ||
18 | S2MPS11_IRQ_PWRONR, | ||
19 | S2MPS11_IRQ_JIGONBF, | ||
20 | S2MPS11_IRQ_JIGONBR, | ||
21 | S2MPS11_IRQ_ACOKBF, | ||
22 | S2MPS11_IRQ_ACOKBR, | ||
23 | S2MPS11_IRQ_PWRON1S, | ||
24 | S2MPS11_IRQ_MRB, | ||
25 | |||
26 | S2MPS11_IRQ_RTC60S, | ||
27 | S2MPS11_IRQ_RTCA1, | ||
28 | S2MPS11_IRQ_RTCA2, | ||
29 | S2MPS11_IRQ_SMPL, | ||
30 | S2MPS11_IRQ_RTC1S, | ||
31 | S2MPS11_IRQ_WTSR, | ||
32 | |||
33 | S2MPS11_IRQ_INT120C, | ||
34 | S2MPS11_IRQ_INT140C, | ||
35 | |||
36 | S2MPS11_IRQ_NR, | ||
37 | }; | ||
38 | |||
39 | #define S2MPS11_IRQ_PWRONF_MASK (1 << 0) | ||
40 | #define S2MPS11_IRQ_PWRONR_MASK (1 << 1) | ||
41 | #define S2MPS11_IRQ_JIGONBF_MASK (1 << 2) | ||
42 | #define S2MPS11_IRQ_JIGONBR_MASK (1 << 3) | ||
43 | #define S2MPS11_IRQ_ACOKBF_MASK (1 << 4) | ||
44 | #define S2MPS11_IRQ_ACOKBR_MASK (1 << 5) | ||
45 | #define S2MPS11_IRQ_PWRON1S_MASK (1 << 6) | ||
46 | #define S2MPS11_IRQ_MRB_MASK (1 << 7) | ||
47 | |||
48 | #define S2MPS11_IRQ_RTC60S_MASK (1 << 0) | ||
49 | #define S2MPS11_IRQ_RTCA1_MASK (1 << 1) | ||
50 | #define S2MPS11_IRQ_RTCA2_MASK (1 << 2) | ||
51 | #define S2MPS11_IRQ_SMPL_MASK (1 << 3) | ||
52 | #define S2MPS11_IRQ_RTC1S_MASK (1 << 4) | ||
53 | #define S2MPS11_IRQ_WTSR_MASK (1 << 5) | ||
54 | |||
55 | #define S2MPS11_IRQ_INT120C_MASK (1 << 0) | ||
56 | #define S2MPS11_IRQ_INT140C_MASK (1 << 1) | ||
57 | |||
16 | enum s5m8767_irq { | 58 | enum s5m8767_irq { |
17 | S5M8767_IRQ_PWRR, | 59 | S5M8767_IRQ_PWRR, |
18 | S5M8767_IRQ_PWRF, | 60 | S5M8767_IRQ_PWRF, |