diff options
author | Arve Hjønnevåg <arve@android.com> | 2010-08-27 18:30:58 -0700 |
---|---|---|
committer | Arve Hjønnevåg <arve@android.com> | 2011-11-17 17:46:54 -0800 |
commit | d339df65288132ebb241d49f16b32d3f174db7ba (patch) | |
tree | afb994eb19844443620dc4e224ba924c1e01bc5d | |
parent | a03d07e97bc37694c48149dae4675aec5814f0cc (diff) | |
download | kernel_samsung_crespo-d339df65288132ebb241d49f16b32d3f174db7ba.tar.gz kernel_samsung_crespo-d339df65288132ebb241d49f16b32d3f174db7ba.tar.bz2 kernel_samsung_crespo-d339df65288132ebb241d49f16b32d3f174db7ba.zip |
ARM: VIC: Implement retrigger
Change-Id: I563a1a3282bcbf696a8eb97590d6a1d98c381c21
Signed-off-by: Arve Hjønnevåg <arve@android.com>
-rw-r--r-- | arch/arm/common/vic.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/common/vic.c b/arch/arm/common/vic.c index 7aa4262ada7..b18fa848d0f 100644 --- a/arch/arm/common/vic.c +++ b/arch/arm/common/vic.c @@ -208,6 +208,14 @@ static void vic_unmask_irq(struct irq_data *d) writel(1 << irq, base + VIC_INT_ENABLE); } +static int vic_retrigger_irq(struct irq_data *d) +{ + void __iomem *base = irq_data_get_irq_chip_data(d); + unsigned int irq = d->irq & 31; + writel(1 << irq, base + VIC_INT_SOFT); + return 1; +} + #if defined(CONFIG_PM) static struct vic_device *vic_from_irq(unsigned int irq) { @@ -251,6 +259,7 @@ static struct irq_chip vic_chip = { .irq_ack = vic_ack_irq, .irq_mask = vic_mask_irq, .irq_unmask = vic_unmask_irq, + .irq_retrigger = vic_retrigger_irq, .irq_set_wake = vic_set_wake, }; |