예제 #1
0
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;
}
예제 #2
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;
}