static int modem_sdio_rx_notifier(int event, void *data)
{
	struct asc_config *rx_config  = (struct asc_config *)data;
	struct sdio_modem *modem = c2k_modem;
	int ret = 0;
	LOGPRT(LOG_NOTICE,  "%s event=%d\n", __func__,event);
	switch(event){
		case ASC_NTF_RX_PREPARE:
#ifdef WAKE_HOST_BY_SYNC/*wake up sdio host by four wire sync mechanis*/
			if(modem->status != MD_OFF)
				SRC_trigger_signal(1);
			else
				LOGPRT(LOG_ERR,  "ignor asc event to resume sdio host\n");
#endif
			asc_rx_confirm_ready(rx_config->name, 1);
			break;
		case ASC_NTF_RX_POST:
#ifdef WAKE_HOST_BY_SYNC/*wake up sdio host by four wire sync mechanis*/
			if(modem->status != MD_OFF)
				SRC_trigger_signal(0);
			else
				LOGPRT(LOG_ERR,  "ignor asc event to suspend sdio host\n");
#endif
			//asc_rx_confirm_ready(rx_config->name, 0);
			break;
		default:
			LOGPRT(LOG_ERR,  "%s: ignor unknow evernt!!\n", __func__);
			break;
	}
	return ret;
}
Beispiel #2
0
static int modem_spi_rx_notifier(int event, void *data)
{
	struct asc_config *rx_config  = (struct asc_config *)data;
	int ret = 0;
	hwlog_debug("%s event=%d\n", __func__,event);
	switch(event){
		case ASC_NTF_RX_PREPARE:
#ifdef WAKE_HOST_BY_SYNC/*wake up spi host by four wire sync mechanis*/
			if(cbp_power_state){
				VIA_trigger_signal(1);
			}
			else
				hwlog_err("ignor asc event to resume spi host\n");
#endif
			asc_rx_confirm_ready(rx_config->name, 1);
			break;
		case ASC_NTF_RX_POST:
#ifdef WAKE_HOST_BY_SYNC/*wake up spi host by four wire sync mechanis*/
			if(cbp_power_state){
				VIA_trigger_signal(0);
			}
			else
				hwlog_err("ignor asc event to suspend spi host\n");
#endif
			break;
		default:
			hwlog_err("%s: ignor unknow evernt!!\n", __func__);
			break;
	}
	return ret;
}