Esempio n. 1
0
static int PollingPowerSWStatus(unsigned long data){
	
	TRACE(printk(">%s, data=%u, PSW_LONG_WAIT_COUNT=%d\n", __FUNCTION__, data, PSW_LONG_WAIT_COUNT));
	unsigned int PowerStat = buffalo_gpio_read();

	if(PowerStat & BIT(BIT_POWER)){
		if((data >= PSW_LONG_WAIT_COUNT) && !(power_pushed_status & SW_LONG_PUSHED)){
			power_pushed_status |= SW_LONG_PUSHED;
#if defined CONFIG_BUFFALO_USE_KERNEL_EVENT_DRIVER
			buffalo_kernevnt_queuein("PSW_pushed");
#endif
		}else if((data >= PSW_WAIT_COUNT) && !(power_pushed_status & SW_PUSHED)){
			power_pushed_status |= SW_PUSHED;
#if defined CONFIG_BUFFALO_USE_KERNEL_EVENT_DRIVER
			buffalo_kernevnt_queuein("PSW_short_pushed");
#endif
		}
		PollingTimerGoOn();
	}else{
		PollingTimerStop();
		if(g_irq)
			enable_irq(g_irq);

		power_pushed_status = 0;
	}

	return 0;
}
Esempio n. 2
0
static int
PollingINITSWStatus(unsigned long data){
	
	TRACE(printk(">%s, data=%u, INIT_WAIT_COUNT=%d\n", __FUNCTION__, data, INIT_WAIT_COUNT));
	unsigned int InitStat=buffalo_gpio_read();

	if(InitStat & BIT(BIT_INIT)){
		if((data > INIT_WAIT_COUNT) && !(init_pushed_status & SW_PUSHED)){
			init_pushed_status |= SW_PUSHED;
#if defined CONFIG_BUFFALO_USE_KERNEL_EVENT_DRIVER
			buffalo_kernevnt_queuein("INITSW_pushed");
#else

#endif
			// keep Polling untile button would be released.
			TRACE(printk("initialize start\n"));
		}
			PollingTimerGoOnInit();
	}else{
		PollingTimerStopInit();
		if(g_irq_init)
			enable_irq(g_irq_init);
	}

	return 0;
}
Esempio n. 3
0
static int
PollingFuncSWStatus(unsigned long data)
{
	TRACE(printk(">%s, data=%u, FUNC_WAIT_COUNT=%d\n", __FUNCTION__, data, FUNC_WAIT_COUNT));
	unsigned int FuncStat = buffalo_gpio_read();

	if (FuncStat & BIT(BIT_FUNC)){
		func_pushed_status |= SW_PUSHED;
		if ((data > FUNC_LONG_WAIT_COUNT) && !(func_pushed_status & SW_LONG_PUSHED)){
			func_pushed_status |= SW_LONG_PUSHED;
#if defined CONFIG_BUFFALO_USE_KERNEL_EVENT_DRIVER
			buffalo_kernevnt_queuein("FUNCSW_long_pushed");
#endif
		}
		PollingTimerGoOnFunc();
	}else{
		PollingTimerStopFunc();
		if (irq_func)
			enable_irq(irq_func);
		
		if ((data > FUNC_WAIT_COUNT) && !(func_pushed_status ^ SW_PUSHED)) {
#if defined CONFIG_BUFFALO_USE_KERNEL_EVENT_DRIVER
			buffalo_kernevnt_queuein("FUNCSW_pushed");
#endif
		}
		func_pushed_status = 0;
	}

	return 0;
}
Esempio n. 4
0
static int
BuffaloAutoPowerReadProc(char *page, char **start, off_t offset, int length, int *eof, void *data)
{
    int len = 0;
    off_t begin = 0;
    unsigned int PinStat = buffalo_gpio_read();

    if(PinStat & BIT(BIT_AUTO_POWER))
        len = sprintf(page, "on\n");
    else
        len = sprintf(page, "off\n");
    *start = page + (offset - begin);
    len -= (offset - begin);
    if (len > length)
        len = length;
    return (len);
}
Esempio n. 5
0
static int
BuffaloAllLedReadProc(char *page, char **start, off_t offset, int length, int *eof, void *data)
{
    int len = 0;
    off_t begin = 0;
    unsigned int PinStat = buffalo_gpio_read();

    if (BIT_LED_PWR >= 0) {
        if(~PinStat & BIT(BIT_LED_PWR))
            len += sprintf(page+len, "power led :on\n");
        else
            len += sprintf(page+len, "power led :off\n");
    }

    if (BIT_LED_INFO >=0) {
        if(~PinStat & BIT(BIT_LED_INFO))
            len += sprintf(page+len, "info  led :on\n");
        else
            len += sprintf(page+len, "info  led :off\n");
    }

    if (BIT_LED_ALARM >= 0) {
        if(~PinStat & BIT(BIT_LED_ALARM))
            len += sprintf(page+len, "alarm led :on\n");
        else
            len += sprintf(page+len, "alarm led :off\n");
    }

    if (BIT_LED_FUNC >= 0) {
        if(PinStat & BIT(BIT_LED_FUNC))
            len += sprintf(page+len, "func led :on\n");
        else
            len += sprintf(page+len, "func led :off\n");
    }

    if(len == 0)
        len += sprintf(page + len, "available led not found.\n");

    *start = page + (offset - begin);
    len -= (offset - begin);
    if (len > length)
        len = length;
    return (len);

}
Esempio n. 6
0
static int
BuffaloEthLedReadProc(char *page, char **start, off_t offset, int length, int *eof, void *data)
{
    if (BIT_LED_ETH < 0)
        return 0;

    int len = 0;
    off_t begin = 0;
    unsigned int PinStat = buffalo_gpio_read();

    if(PinStat & BIT(BIT_LED_ETH))
        len = sprintf(page, "on\n");
    else
        len = sprintf(page, "off\n");
    *start = page + (offset - begin);
    len -= (offset - begin);
    if(len > length)
        len = length;
    return (len);
}
Esempio n. 7
0
static int
BuffaloFanStatusReadProc(char *page, char **start, off_t offset, int length, int *eof, void *data)
{
    if (BIT_FAN_LCK < 0)
        return 0;

    int len = 0;
    off_t begin = 0;

    unsigned int PinStat = buffalo_gpio_read();
    FUNCTRACE(printk(" %s > ~PinStat & BIT(BIT_FAN_LCK) = %d\n", __FUNCTION__, (~PinStat & BIT(BIT_FAN_LCK))));
    if(~PinStat & BIT(BIT_FAN_LCK))
        len = sprintf(page, "Fine\n");
    else
        len = sprintf(page, "Stop\n");
    *start = page + (offset - begin);
    len -= (offset - begin);
    if(len > length)
        len = length;
    return (len);
}
Esempio n. 8
0
static int
gpio_power_read_proc(char *page, char **start, off_t offset, int length)
{
    if (BIT_POWER < 0)
        return 0;

    int len=0;
    off_t begin=0;
    unsigned int PowerStat=buffalo_gpio_read();
    int i;

    len += sprintf(page + len, "GpioStat=0x%04x\n", PowerStat);
    len += sprintf(page + len, "BIT(%d)=0x%04x\n", BIT_POWER, BIT(BIT_POWER));
    len += sprintf(page + len, "PowerStat=%d\n", (PowerStat & BIT(BIT_POWER))? 1:0);

    if (BIT_LED_INFO >= 0)
        len += sprintf(page + len, "LedInfo=%d\n", (PowerStat & BIT(BIT_LED_INFO))? 0:1);

    if (BIT_LED_ALARM >= 0)
        len += sprintf(page + len, "LedAlarm=%d\n", (PowerStat & BIT(BIT_LED_ALARM))? 0:1);

    if (BIT_LED_FUNC >= 0)
        len += sprintf(page + len, "LedFunc=%d\n", (PowerStat & BIT(BIT_LED_FUNC))? 0:1);

    for (i=0; i<BUF_NV_SIZE_BIT_HDD_POWER; i++) {
        if (bitHddPower[i] >= 0)
            len += sprintf(page + len, "HddPower%d=%d\n", i, (PowerStat & BIT(bitHddPower[i]))? 0:1);
    }

    for (i=0; i<BUF_NV_SIZE_BIT_USB_POWER; i++) {
        if (bitUsbPower[i] >= 0)
            len += sprintf(page + len, "UsbPower%d=%d\n", i, (PowerStat & BIT(bitUsbPower[i]))? 0:1);
    }

    *start = page + (offset - begin);
    len -= (offset - begin);
    if (len > length)
        len = length;
    return (len);
}