コード例 #1
0
ファイル: power.c プロジェクト: printusrzero/hwp6s-kernel
static int modem_reset_notify_misc(struct notifier_block *nb, unsigned long event,
			       void *ptr)
{
	switch (event) {
        case MDM_EVT_NOTIFY_RESET_ON:
            modem_signal_user(ASC_USER_MDM_RESET_ON);
            break;
        case MDM_EVT_NOTIFY_RESET_OFF:
            modem_signal_user(ASC_USER_MDM_RESET_OFF);
            break;
        default:
            ;
    }

    return NOTIFY_OK;
}
コード例 #2
0
ファイル: power.c プロジェクト: AwaisKing/mt6577_aosp_source
static int modem_userspace_notifier(int msg, void *data)
{
     int ret = 0;
     int wake, sleep;
     char *hd = (char *)data;

     if(!hd) {
        printk(KERN_ERR "%s:error sync user\n", __FUNCTION__);
        return -ENODEV;
     }

     if(!strncmp(hd, USB_RX_HD_NAME, ASC_NAME_LEN)){
        wake  = ASC_USER_USB_WAKE;
        sleep = ASC_USER_USB_SLEEP;
     }else if(!strncmp(hd, UART_RX_HD_NAME, ASC_NAME_LEN)){
        wake  = ASC_USER_UART_WAKE;
        sleep = ASC_USER_UART_SLEEP;
     }else if(!strncmp(hd, SDIO_RX_HD_NAME, ASC_NAME_LEN)){
        wake  = ASC_USER_SDIO_WAKE;
        sleep = ASC_USER_SDIO_SLEEP;
     }else{
        return -ENODEV;        
     }

     if(!atomic_read(&vmdata->count)){
        return 0;
     }

     switch(msg){
         case ASC_NTF_RX_PREPARE:
            modem_signal_user(wake);
            break;

        case ASC_NTF_RX_POST:
            modem_signal_user(sleep);
            break;

         default:
            printk("%s unknow message %d\n", __FUNCTION__, msg);
    }

    return ret;
}
コード例 #3
0
ファイル: power.c プロジェクト: Scorpio92/mediatek
static int modem_reset_notify_misc(struct notifier_block *nb, unsigned long event,
			       void *ptr)
{
    int ret = 0;
	if(via_ignore_notifier)
	{
		printk("Warnning: via ignore notifer just return NOTIFY_OK.\n");
		return NOTIFY_OK;
	}
	switch (event) {
        case MDM_EVT_NOTIFY_RESET_ON:
            modem_signal_user(ASC_USER_MDM_RESET_ON);
            break;
        case MDM_EVT_NOTIFY_RESET_OFF:
            modem_signal_user(ASC_USER_MDM_RESET_OFF);
            break;
        default:
            ;
    }

    return ret ? NOTIFY_DONE : NOTIFY_OK;
}
コード例 #4
0
ファイル: power.c プロジェクト: Scorpio92/mediatek
static int modem_err_notify_misc(struct notifier_block *nb, unsigned long event,
			       void *ptr)
{
	printk("%s %d event=%d\n",__func__,__LINE__,event);
    switch (event) {
        case MDM_EVT_NOTIFY_HD_ERR:
			printk("%s %d ASC_USER_MDM_ERR\n",__func__,__LINE__);
            modem_signal_user(ASC_USER_MDM_ERR);
            break;
        case MDM_EVT_NOTIFY_HD_ENHANCE:
			printk("%s %d ASC_USER_MDM_ERR_ENHANCE\n",__func__,__LINE__);
            modem_signal_user(ASC_USER_MDM_ERR_ENHANCE);
            break;
        case MDM_EVT_NOTIFY_IPOH:
			printk("%s %d MDM_EVT_NOTIFY_IPOH\n",__func__,__LINE__);
            modem_signal_user(ASC_USER_MDM_IPOH);
            break;
        default:
            ;
    }

    return NOTIFY_OK;
}