static int dns323_gpio_blink_set(unsigned gpio, int state, unsigned long *delay_on, unsigned long *delay_off) { if (delay_on && delay_off && !*delay_on && !*delay_off) *delay_on = *delay_off = ORION_BLINK_HALF_PERIOD; switch(state) { case GPIO_LED_NO_BLINK_LOW: case GPIO_LED_NO_BLINK_HIGH: orion_gpio_set_blink(gpio, 0); gpio_set_value(gpio, state); break; case GPIO_LED_BLINK: orion_gpio_set_blink(gpio, 1); } return 0; }
static int nsa310_gpio_blink_set(unsigned gpio, int state, unsigned long *delay_on, unsigned long *delay_off) { // Use hardware acceleration // if (delay_on && delay_off && !*delay_on && !*delay_off) // *delay_on = *delay_off = 100; switch(state) { case GPIO_LED_NO_BLINK_LOW: case GPIO_LED_NO_BLINK_HIGH: orion_gpio_set_blink(gpio, 0); gpio_set_value(gpio, state); break; case GPIO_LED_BLINK: orion_gpio_set_blink(gpio, 1); break; } return 0; }
int iconnect_gpio_blink_set(unsigned gpio, unsigned long *delay_on, unsigned long *delay_off) { if (!*delay_on && !*delay_off) *delay_on = *delay_off = ORION_BLINK_HALF_PERIOD; if (ORION_BLINK_HALF_PERIOD == *delay_on && ORION_BLINK_HALF_PERIOD == *delay_off) { orion_gpio_set_blink(gpio, 1); return 0; } return -EINVAL; }