/* EXTI ISR handler. 
Check EXTI lines in exti_range for pending interrupts */
static void stm32_exti_isr(const void *exti_range)
/* EXTI ISR handler. 
Check EXTI lines in exti_range for pending interrupts */
static void stm32_exti_isr(const void *exti_range)
{
	const struct device *dev = DEVICE_DT_GET(EXTI_NODE);
	struct stm32_exti_data *data = dev->data;
	const struct stm32_exti_range *range = exti_range;
	int line;
	for (uint8_t i = 0; i <= range->len; i++) {
		line = range->start + i;
		if (stm32_exti_is_pending(line) != 0) {
			stm32_exti_clear_pending(line);
			if (!data->cb[line].cb) {
				continue;
			}
			data->cb[line].cb(line, data->cb[line].data);
		}
	}
}