As a newbie on this topic, I am trying to change the dts of an optical port to IRQ_TYPE_EDGE_BOTH to catch the event when a port is plugged (EDGE_RISING) or removed (EDGE_FALLING). however, the kernel complains when set irq mode to IRQ_TYPE_EDGE_BOTH, which is (IRQ_TYPE_EDGE_RISING|IRQ_TYPE_EDGE_FALLING):
genirq: Setting trigger mode 3 for irq 47 failed (gic_set_type+0x0/0x98)
After a short look at the irq-gic.c file, it says:
/* SPIs have restrictions on the supported types */
if (gicirq >= 32 && type != IRQ_TYPE_LEVEL_HIGH &&
type != IRQ_TYPE_EDGE_RISING)
return -EINVAL;
Is there anyway to set the interrupt to IRQ_TYPE_EDGE_BOTH? our arm is armv7ahf neon 32-bits.