diff options
Diffstat (limited to 'arch/arm/mach-s3c2442/gta02-fiq.c')
-rw-r--r-- | arch/arm/mach-s3c2442/gta02-fiq.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/mach-s3c2442/gta02-fiq.c b/arch/arm/mach-s3c2442/gta02-fiq.c index 436e7448e23..d2c825c17ad 100644 --- a/arch/arm/mach-s3c2442/gta02-fiq.c +++ b/arch/arm/mach-s3c2442/gta02-fiq.c @@ -5,6 +5,7 @@ #include <mach/regs-irq.h> #include <mach/irqs.h> #include <linux/io.h> +#include <linux/hdq.h> /* ------------------------------------------------------------------------------- * GTA02 FIQ related @@ -15,6 +16,11 @@ #define DIVISOR_FROM_US(x) ((x) << 3) +#ifdef CONFIG_HDQ_GPIO_BITBANG +#define FIQ_DIVISOR_HDQ DIVISOR_FROM_US(HDQ_SAMPLE_PERIOD_US) +extern int hdq_fiq_handler(void); +#endif + /* Global data related to our fiq source */ static uint32_t gta02_fiq_ack_mask; static struct s3c2410_pwm gta02_fiq_pwm_timer; @@ -33,6 +39,11 @@ void gta02_fiq_handler(void) * thankfully and taken care of by the fiq-basis patch */ +#ifdef CONFIG_HDQ_GPIO_BITBANG + if (hdq_fiq_handler()) + divisor = FIQ_DIVISOR_HDQ; +#endif + if (divisor == 0xffff) /* mask the fiq irq source */ __raw_writel(__raw_readl(S3C2410_INTMSK) | gta02_fiq_ack_mask, S3C2410_INTMSK); |