drivers/gpio/gpio_nrf5.c
/**
 * @brief Handler for port interrupts
 * @param dev Pointer to device structure for driver instance
 *
 * @return N/A
 */
@brief Handler for port interrupts
@param dev Pointer to device structure for driver instance

@return N/A
@brief Handler for port interrupts @param dev Pointer to device structure for driver instance @return N / A
static void gpio_nrf5_port_isr(void *arg)
{
	struct device *dev = arg;
	volatile struct _gpiote *gpiote = GPIOTE_STRUCT(dev);
	struct gpio_nrf5_data *data = DEV_GPIO_DATA(dev);
	u32_t enabled_int, int_status = 0;
	int i;
	for (i = 0; i < GPIOTE_CHAN_COUNT; i++) {
		if (gpiote->EVENTS_IN[i]) {
			gpiote->EVENTS_IN[i] = 0;
			int_status |= BIT(GPIOTE_CFG_PIN_GET(gpiote->CONFIG[i]));
		}
	}
	enabled_int = int_status & data->pin_callback_enables;
	irq_disable(NRF5_IRQ_GPIOTE_IRQn);
	_gpio_fire_callbacks(&data->callbacks, (struct device *)dev,
			     enabled_int);
	irq_enable(NRF5_IRQ_GPIOTE_IRQn);
}
static void gpio_nrf5_port_isr ( void * arg ) { struct device * dev = arg ; volatile struct _gpiote * gpiote = GPIOTE_STRUCT ( dev ) ; struct gpio_nrf5_data * data = DEV_GPIO_DATA ( dev ) ; u32_t enabled_int , int_status = 0 ; int i ; for ( i = 0 ; i < GPIOTE_CHAN_COUNT ; i ++ ) { if ( gpiote -> EVENTS_IN [ i ] ) { gpiote -> EVENTS_IN [ i ] = 0 ; int_status |= BIT ( GPIOTE_CFG_PIN_GET ( gpiote -> CONFIG [ i ] ) ) ; } } enabled_int = int_status & data -> pin_callback_enables ; irq_disable ( NRF5_IRQ_GPIOTE_IRQn ) ; _gpio_fire_callbacks ( & data -> callbacks , ( struct device * ) dev , enabled_int ) ; irq_enable ( NRF5_IRQ_GPIOTE_IRQn ) ; }
@brief Handler for port interrupts
 @param dev Pointer to device structure for driver instance
@brief Handler for port interrupts @param dev Pointer to device structure for driver instance
/* Call the registered callbacks */