diff options
author | Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | 2012-09-12 11:14:33 -0400 |
---|---|---|
committer | Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | 2012-09-12 11:14:33 -0400 |
commit | 25a765b7f05cb8460fa01b54568894b20e184862 (patch) | |
tree | 0b56db57b4d9f912393ab303c269e0fe6cdf8635 /drivers/mfd/wm8994-irq.c | |
parent | 9d2be9287107695708e6aae5105a8a518a6cb4d0 (diff) | |
parent | 64282278989d5b0398dcb3ba7904cb00c621dc35 (diff) |
Merge branch 'x86/platform' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into stable/for-linus-3.7
* 'x86/platform' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (9690 commits)
x86: Document x86_init.paging.pagetable_init()
x86: xen: Cleanup and remove x86_init.paging.pagetable_setup_done()
x86: Move paging_init() call to x86_init.paging.pagetable_init()
x86: Rename pagetable_setup_start() to pagetable_init()
x86: Remove base argument from x86_init.paging.pagetable_setup_start
Linux 3.6-rc5
HID: tpkbd: work even if the new Lenovo Keyboard driver is not configured
Remove user-triggerable BUG from mpol_to_str
xen/pciback: Fix proper FLR steps.
uml: fix compile error in deliver_alarm()
dj: memory scribble in logi_dj
Fix order of arguments to compat_put_time[spec|val]
xen: Use correct masking in xen_swiotlb_alloc_coherent.
xen: fix logical error in tlb flushing
xen/p2m: Fix one-off error in checking the P2M tree directory.
powerpc: Don't use __put_user() in patch_instruction
powerpc: Make sure IPI handlers see data written by IPI senders
powerpc: Restore correct DSCR in context switch
powerpc: Fix DSCR inheritance in copy_thread()
powerpc: Keep thread.dscr and thread.dscr_inherit in sync
...
Diffstat (limited to 'drivers/mfd/wm8994-irq.c')
-rw-r--r-- | drivers/mfd/wm8994-irq.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/mfd/wm8994-irq.c b/drivers/mfd/wm8994-irq.c index f1837f669755..0aac4aff17a5 100644 --- a/drivers/mfd/wm8994-irq.c +++ b/drivers/mfd/wm8994-irq.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <linux/regmap.h> | 21 | #include <linux/regmap.h> |
22 | 22 | ||
23 | #include <linux/mfd/wm8994/core.h> | 23 | #include <linux/mfd/wm8994/core.h> |
24 | #include <linux/mfd/wm8994/pdata.h> | ||
24 | #include <linux/mfd/wm8994/registers.h> | 25 | #include <linux/mfd/wm8994/registers.h> |
25 | 26 | ||
26 | #include <linux/delay.h> | 27 | #include <linux/delay.h> |
@@ -139,6 +140,8 @@ static struct regmap_irq_chip wm8994_irq_chip = { | |||
139 | int wm8994_irq_init(struct wm8994 *wm8994) | 140 | int wm8994_irq_init(struct wm8994 *wm8994) |
140 | { | 141 | { |
141 | int ret; | 142 | int ret; |
143 | unsigned long irqflags; | ||
144 | struct wm8994_pdata *pdata = wm8994->dev->platform_data; | ||
142 | 145 | ||
143 | if (!wm8994->irq) { | 146 | if (!wm8994->irq) { |
144 | dev_warn(wm8994->dev, | 147 | dev_warn(wm8994->dev, |
@@ -147,8 +150,13 @@ int wm8994_irq_init(struct wm8994 *wm8994) | |||
147 | return 0; | 150 | return 0; |
148 | } | 151 | } |
149 | 152 | ||
153 | /* select user or default irq flags */ | ||
154 | irqflags = IRQF_TRIGGER_HIGH | IRQF_ONESHOT; | ||
155 | if (pdata->irq_flags) | ||
156 | irqflags = pdata->irq_flags; | ||
157 | |||
150 | ret = regmap_add_irq_chip(wm8994->regmap, wm8994->irq, | 158 | ret = regmap_add_irq_chip(wm8994->regmap, wm8994->irq, |
151 | IRQF_TRIGGER_HIGH | IRQF_ONESHOT, | 159 | irqflags, |
152 | wm8994->irq_base, &wm8994_irq_chip, | 160 | wm8994->irq_base, &wm8994_irq_chip, |
153 | &wm8994->irq_data); | 161 | &wm8994->irq_data); |
154 | if (ret != 0) { | 162 | if (ret != 0) { |