20 static void asb2364_fpga_mask(
struct irq_data *
d)
26 static void asb2364_fpga_ack(
struct irq_data *
d)
32 static void asb2364_fpga_mask_ack(
struct irq_data *
d)
40 static void asb2364_fpga_unmask(
struct irq_data *
d)
46 static struct irq_chip asb2364_fpga_pic = {
48 .irq_ack = asb2364_fpga_ack,
49 .irq_mask = asb2364_fpga_mask,
50 .irq_mask_ack = asb2364_fpga_mask_ack,
51 .irq_unmask = asb2364_fpga_unmask,
57 static irqreturn_t fpga_interrupt(
int irq,
void *_mask)
59 if ((ASB2364_FPGA_REG_IRQ_LAN & 0x0001) != 0x0001)
61 if ((ASB2364_FPGA_REG_IRQ_UART & 0x0001) != 0x0001)
63 if ((ASB2364_FPGA_REG_IRQ_I2C & 0x0001) != 0x0001)
65 if ((ASB2364_FPGA_REG_IRQ_USB & 0x0001) != 0x0001)
67 if ((ASB2364_FPGA_REG_IRQ_FPGA & 0x0001) != 0x0001)
78 .handler = fpga_interrupt,
91 ASB2364_FPGA_REG_MASK_LAN = 0x0001;
93 ASB2364_FPGA_REG_MASK_UART = 0x0001;
95 ASB2364_FPGA_REG_MASK_I2C = 0x0001;
97 ASB2364_FPGA_REG_MASK_USB = 0x0001;
99 ASB2364_FPGA_REG_MASK_FPGA = 0x0001;
103 irq_set_chip_and_handler(irq, &asb2364_fpga_pic,