Fully implemented gpio_irq_set