irq_set_chained_handler(IRQ_AUTO_3, psc_irq);irq_set_handler_data(IRQ_AUTO_3, (void*)0x30); irq_set_chained_handler(IRQ_AUTO_4, psc_irq);irq_set_handler_data(IRQ_AUTO_4, (void*)0x40); irq_set_chained_handler(IRQ_AUTO_5, psc_irq);irq_set_handler_data(IRQ_AUTO_5, (void*)...
static inline void gpio_set_irq_handler(uint16_t pin, void (*fn)(void *), void *arg) { int no = cpu_alloc_interrupt(1); g_irq_data[no].fn = fn; g_irq_data[no].arg = arg; g_irq_data[no].clr = gpio_clear_interrupt; g_irq_data[no].clr_arg = (void *) (uintpt...
register_gpio_chip(&sapphire_h2w_gpio_chip);/*setup CPLD INT connecting to SOC's gpio 17 */set_irq_type(MSM_GPIO_TO_INT(17), IRQF_TRIGGER_HIGH);set_irq_chained_handler(MSM_GPIO_TO_INT(17), sapphire_gpio_irq_handler); set_irq_wake(MSM_GPIO_TO_INT(17),1);if(sysdev_class_regist...
At the end of HAL_SUBGHZ_IRQHandler, the handler will try to clear the interrupt request by calling HAL_SUBGHZ_ExecSetCmd, but HAL_SUBGHZ_ExecSetCmd will also return immediately since it cannot lock the subghz handle. The result is that the radio IRQ won't be cleared, causing a re-e...