19 #include <linux/types.h>
22 #include <linux/kernel.h>
23 #include <linux/device.h>
24 #include <linux/errno.h>
32 #include <mach/hardware.h>
36 static void fpga_mask_irq(
struct irq_data *
d)
52 static inline u32 get_fpga_unmasked_irqs(
void)
64 static void fpga_ack_irq(
struct irq_data *d)
69 static void fpga_unmask_irq(
struct irq_data *d)
84 static void fpga_mask_ack_irq(
struct irq_data *d)
90 static void innovator_fpga_IRQ_demux(
unsigned int irq,
struct irq_desc *
desc)
95 stat = get_fpga_unmasked_irqs();
102 fpga_irq++, stat >>= 1) {
109 static struct irq_chip omap_fpga_irq_ack = {
111 .irq_ack = fpga_mask_ack_irq,
112 .irq_mask = fpga_mask_irq,
113 .irq_unmask = fpga_unmask_irq,
117 static struct irq_chip omap_fpga_irq = {
119 .irq_ack = fpga_ack_irq,
120 .irq_mask = fpga_mask_irq,
121 .irq_unmask = fpga_unmask_irq,
185 pr_err(
"%s failed to get gpio\n", __func__);