您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ subsystem_restart函数代码示例

51自学网 2021-06-03 08:33:22
  C++
这篇教程C++ subsystem_restart函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中subsystem_restart函数的典型用法代码示例。如果您正苦于以下问题:C++ subsystem_restart函数的具体用法?C++ subsystem_restart怎么用?C++ subsystem_restart使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了subsystem_restart函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: modem_sw_fatal_fn

static void modem_sw_fatal_fn(struct work_struct *work){	uint32_t panic_smsm_states = SMSM_RESET | SMSM_SYSTEM_DOWNLOAD;	uint32_t reset_smsm_states = SMSM_SYSTEM_REBOOT_USR |					SMSM_SYSTEM_PWRDWN_USR;	uint32_t modem_state;	pr_err("Watchdog bite received from modem SW!/n");	modem_state = smsm_get_state(SMSM_MODEM_STATE);	if (modem_state & panic_smsm_states) {		pr_err("Modem SMSM state changed to SMSM_RESET./n"			"Probable err_fatal on the modem. "			"Calling subsystem restart.../n");		subsystem_restart("modem");	} else if (modem_state & reset_smsm_states) {		pr_err("%s: User-invoked system reset/powerdown. "			"Resetting the SoC now./n",			__func__);		kernel_restart(NULL);	} else {		/* TODO: Bus unlock code/sequence goes _here_ */		subsystem_restart("modem");	}}
开发者ID:throwaway17,项目名称:inspirational,代码行数:29,


示例2: riva_fatal_fn

static void riva_fatal_fn(struct work_struct *work){	if (!enable_riva_ssr)		panic(MODULE_NAME ": Watchdog bite received from Riva");	else		subsystem_restart("riva");}
开发者ID:Ca1ne,项目名称:Enoch213,代码行数:7,


示例3: mdm_fatal_fn

static void mdm_fatal_fn(struct work_struct *work){		int i;	int value = gpio_get_value(mdm_drv->mdm2ap_errfatal_gpio);	if (value == 1) {		for (i = HTC_MDM_ERROR_CONFIRM_TIME_MS; i > 0; i--) {			msleep(1);			if (gpio_get_value(mdm_drv->mdm2ap_errfatal_gpio) == 0) {				pr_info("%s: mdm fatal high %d(ms) confirm failed... Abort!/n", __func__, HTC_MDM_ERROR_CONFIRM_TIME_MS);				return;			}		}	} else if (value == 0) {		pr_info("%s: mdm fatal high is a false alarm!/n", __func__);		return;	}	mdm_crash_dump_dbg_info();		pr_info("%s: Reseting the mdm due to an errfatal/n", __func__);	subsystem_restart(EXTERNAL_MODEM);}
开发者ID:bgcngm,项目名称:802Xtreem,代码行数:26,


示例4: riva_smsm_cb_fn

static void riva_smsm_cb_fn(struct work_struct *work){	if (!enable_riva_ssr)		panic(MODULE_NAME ": SMSM reset request received from Riva");	else		subsystem_restart("riva");}
开发者ID:DESHONOR,项目名称:kernel_huawei,代码行数:7,


示例5: modem_debug_set

static int modem_debug_set(void *data, u64 val){	if (val == 1)		subsystem_restart("modem");	return 0;}
开发者ID:NieNs,项目名称:IM-A840S-kernel-1,代码行数:7,


示例6: delayed_subsystem_restart_work_fn

static void delayed_subsystem_restart_work_fn(struct work_struct *work){	if (!machine_is_m7_evm()) /* SSR is not supported on EVM board */		subsystem_restart(EXTERNAL_MODEM);	else		pr_err("SSR is not supported on EVM board. Skip it./n");}
开发者ID:BackupWildfireDEV,项目名称:ElementalX-Sense-5.0.2,代码行数:7,


示例7: mdm_fatal_fn

static void mdm_fatal_fn(struct work_struct *work){		int i;	int value = gpio_get_value(mdm_drv->mdm2ap_errfatal_gpio);	if (value == 1) {		for (i = HTC_MDM_ERROR_CONFIRM_TIME_MS; i > 0; i--) {			msleep(1);			if (gpio_get_value(mdm_drv->mdm2ap_errfatal_gpio) == 0) {				pr_info("%s: mdm fatal high %d(ms) confirm failed... Abort!/n", __func__, HTC_MDM_ERROR_CONFIRM_TIME_MS);				return;			}		}	} else if (value == 0) {		pr_info("%s: mdm fatal high is a false alarm!/n", __func__);		return;	}	dump_mdm_related_gpio();		pr_info("### Show Blocked State in ###/n");	show_state_filter(TASK_UNINTERRUPTIBLE);	if (get_restart_level() == RESET_SOC)		msm_rtb_disable();	if (get_restart_level() == RESET_SOC)		set_mdm2ap_errfatal_restart_flag(1);		pr_info("%s: Reseting the mdm due to an errfatal/n", __func__);	subsystem_restart(EXTERNAL_MODEM);}
开发者ID:Backspace-Dev,项目名称:htx21,代码行数:35,


示例8: modem_fw_fatal_fn

static void modem_fw_fatal_fn(struct work_struct *work){	pr_err("Watchdog bite received from modem FW!/n");#ifdef FEATURE_PANTECH_WLAN_QCOM_PATCH //lee.eunsuk 20120423, SSR	panic(MODULE_NAME "Modem crashed.");#else	subsystem_restart("modem");#endif}
开发者ID:NieNs,项目名称:IM-A840S-kernel-1,代码行数:9,


示例9: mdm_force_fatal

/* simply declare this function as extern at test point, and call it */void mdm_force_fatal(void){	pr_info("%s: Reseting the mdm due to AP request/n", __func__);	force_dump = 1;	notify_modem_fatal();	subsystem_restart(EXTERNAL_MODEM);}
开发者ID:ARMP,项目名称:ARMP-i9300,代码行数:10,


示例10: mdm_status_fn

static void mdm_status_fn(struct work_struct *work){	int i;	int value = gpio_get_value(mdm_drv->mdm2ap_status_gpio);	if (!mdm_drv->mdm_ready)		return;		if (value == 0) {		for (i = HTC_MDM_ERROR_CONFIRM_TIME_MS; i > 0; i--) {			msleep(1);			if (gpio_get_value(mdm_drv->mdm2ap_status_gpio) == 1) {				pr_info("%s: mdm status low %d(ms) confirm failed... Abort!/n", __func__, HTC_MDM_ERROR_CONFIRM_TIME_MS);				return;			}		}	}		if ( ( get_radio_flag() & RADIO_FLAG_USB_UPLOAD ) ) {		if ( value == 0 ) {			int val_gpio = 0;			msleep(40);			val_gpio = gpio_get_value(mdm_drv->mdm2ap_hsic_ready_gpio);			pr_info("%s:mdm2ap_hsic_ready_gpio=[%d]/n", __func__, val_gpio);		}	}		mdm_status_change_notified = true;		mdm_drv->ops->status_cb(mdm_drv, value);	pr_debug("%s: status:%d/n", __func__, value);	if (value == 0) {		pr_info("%s: unexpected reset external modem/n", __func__);				dump_mdm_related_gpio();				pr_info("### Show Blocked State in ###/n");		show_state_filter(TASK_UNINTERRUPTIBLE);		if (get_restart_level() == RESET_SOC)			msm_rtb_disable();		if (get_restart_level() == RESET_SOC)			set_mdm2ap_errfatal_restart_flag(1);				subsystem_restart(EXTERNAL_MODEM);	} else if (value == 1) {		pr_info("%s: status = 1: mdm is now ready/n", __func__);	}}
开发者ID:Hawknest,项目名称:GEKernel,代码行数:57,


示例11: smsm_state_cb_hdlr

static void smsm_state_cb_hdlr(void *data, uint32_t old_state,					uint32_t new_state){	char *smem_reset_reason;	char buffer[MAX_BUF_SIZE];	unsigned smem_reset_size;	unsigned size;	riva_crash = true;	pr_err("%s: smsm state changed/n", MODULE_NAME);	if (get_kernel_flag() & KERNEL_FLAG_ENABLE_SSR_WCNSS) {				smsm_change_state_ssr(SMSM_APPS_STATE, SMSM_RESET, 0, KERNEL_FLAG_ENABLE_SSR_WCNSS);	}	if (!(new_state & SMSM_RESET))		return;	if (ss_restart_inprogress) {		pr_err("%s: Ignoring smsm reset req, restart in progress/n",						MODULE_NAME);		return;	}	if (!enable_riva_ssr) {		ssr_set_restart_reason(				"riva fatal: SMSM reset request received from Riva");		panic(MODULE_NAME ": SMSM reset request received from Riva");	}	smem_reset_reason = smem_get_entry(SMEM_SSR_REASON_WCNSS0,			&smem_reset_size);	if (!smem_reset_reason || !smem_reset_size) {		pr_err("%s: wcnss subsystem failure reason: %s/n",				__func__, "(unknown, smem_get_entry failed)");	} else if (!smem_reset_reason[0]) {		pr_err("%s: wcnss subsystem failure reason: %s/n",				__func__, "(unknown, init string found)");	} else {		size = smem_reset_size < MAX_BUF_SIZE ? smem_reset_size :			(MAX_BUF_SIZE - 1);		memcpy(buffer, smem_reset_reason, size);		buffer[size] = '/0';		pr_err("%s: wcnss subsystem failure reason: %s/n",				__func__, buffer);		memset(smem_reset_reason, 0, smem_reset_size);		wmb();	}	ss_restart_inprogress = true;	subsystem_restart("riva");}
开发者ID:Ca1ne,项目名称:Enoch316,代码行数:55,


示例12: mdm_errfatal

static irqreturn_t mdm_errfatal(int irq, void *dev_id){	pr_debug("%s: mdm got errfatal interrupt/n", __func__);	if (mdm_drv->mdm_ready &&		(gpio_get_value(mdm_drv->mdm2ap_status_gpio) == 1)) {		pr_info("%s: Reseting the mdm due to an errfatal/n", __func__);		mdm_drv->mdm_ready = 0;		subsystem_restart(EXTERNAL_MODEM);	}	return IRQ_HANDLED;}
开发者ID:de-wolff,项目名称:caf_device_kernel_msm,代码行数:11,


示例13: smsm_state_cb

static void smsm_state_cb(void *data, uint32_t old_state, uint32_t new_state){	/* Ignore if we're the one that set SMSM_RESET */	if (crash_shutdown)		return;	if (new_state & SMSM_RESET) {		pr_err("Probable fatal error on the modem./n");		log_modem_sfr();		subsystem_restart("modem");	}}
开发者ID:DAGr8,项目名称:gp-peak-kernel,代码行数:12,


示例14: dsps_restart_handler

static void dsps_restart_handler(void){	pr_debug("%s: Restart lvl %d/n",		__func__, get_restart_level());	if (atomic_add_return(1, &drv->crash_in_progress) > 1) {		pr_err("%s: DSPS already resetting. Count %d/n", __func__,		       atomic_read(&drv->crash_in_progress));	} else {		subsystem_restart("dsps");	}}
开发者ID:Albinoman887,项目名称:pyramid-3.4.10,代码行数:12,


示例15: modem_unlock_timeout

static void modem_unlock_timeout(struct work_struct *work){    pr_crit("%s: Timeout waiting for modem to unlock./n", MODULE_NAME);    /* Set MSS_MODEM_RESET to 0x0 since the unlock didn't work */    if ( hwio_modem_reset_addr )        writel_relaxed(0x0, hwio_modem_reset_addr);    /* Write needs to go through before the modem is restarted. */    mb();    subsystem_restart("modem");}
开发者ID:glitschi,项目名称:kernel_P7320,代码行数:12,


示例16: smsm_state_cb_hdlr

static void smsm_state_cb_hdlr(void *data, uint32_t old_state,					uint32_t new_state){	char *smem_reset_reason;	char buffer[MAX_BUF_SIZE];	unsigned smem_reset_size;	unsigned size;	riva_crash = true;	pr_err("%s: smsm state changed/n", MODULE_NAME);	if (!(new_state & SMSM_RESET))		return;	if (ss_restart_inprogress) {		pr_err("%s: Ignoring smsm reset req, restart in progress/n",						MODULE_NAME);		return;	}    pr_info(MODULE_NAME ": smsm_state_cb_hdlr, enable_riva_ssr=%d./n", enable_riva_ssr);    //ASUS_BSP+++ "for /data/log/ASUSEvtlog"    ASUSEvtlog("[wcnss]: smsm_state_cb_hdlr, enable_riva_ssr=%d./n", enable_riva_ssr);    //ASUS_BSP--- "for /data/log/ASUSEvtlog"	if (!enable_riva_ssr)		panic(MODULE_NAME ": SMSM reset request received from Riva");	smem_reset_reason = smem_get_entry(SMEM_SSR_REASON_WCNSS0,			&smem_reset_size);	if (!smem_reset_reason || !smem_reset_size) {		pr_err("%s: wcnss subsystem failure reason: %s/n",				__func__, "(unknown, smem_get_entry failed)");	} else if (!smem_reset_reason[0]) {		pr_err("%s: wcnss subsystem failure reason: %s/n",				__func__, "(unknown, init string found)");	} else {		size = smem_reset_size < MAX_BUF_SIZE ? smem_reset_size :			(MAX_BUF_SIZE - 1);		memcpy(buffer, smem_reset_reason, size);		buffer[size] = '/0';		pr_err("%s: wcnss subsystem failure reason: %s/n",				__func__, buffer);		memset(smem_reset_reason, 0, smem_reset_size);		wmb();	}	ss_restart_inprogress = true;	subsystem_restart("riva");}
开发者ID:SmokyBob,项目名称:android_kernel_asus_padfone2,代码行数:53,


示例17: set_subsystem

static int set_subsystem(const char *buf, struct kernel_param *kp){	if(!strncmp(buf, "modem",strlen(buf)-1))	{		subsystem_restart("modem");	}	else if(!strncmp(buf, "lpass",strlen(buf)-1))	{		subsystem_restart("lpass");	}	else if(!strncmp(buf, "dsps",strlen(buf)-1))	{		subsystem_restart("dsps");	}	else if(!strncmp(buf, "wcnss",strlen(buf)-1))	{		subsystem_restart("wcnss");	}	else if(!strncmp(buf, "adsp",strlen(buf)-1))	{		subsystem_restart("adsp");	}	else if(!strncmp(buf, "venus",strlen(buf)-1))	{		subsystem_restart("venus");	}	else printk("Unknown subsystem!Please check!");	return 0;}
开发者ID:Vinayak-SP,项目名称:android_kernel_yu_msm8916,代码行数:29,


示例18: mdm2ap_status_check

static void mdm2ap_status_check(struct work_struct *work){	/*	 * If the mdm modem did not pull the MDM2AP_STATUS gpio	 * high then call subsystem_restart.	 */	if (gpio_get_value(mdm_drv->mdm2ap_status_gpio) == 0) {		pr_err("%s: MDM2AP_STATUS gpio did not go high/n",			   __func__);		mdm_drv->mdm_ready = 0;		subsystem_restart(EXTERNAL_MODEM);	}}
开发者ID:de-wolff,项目名称:caf_device_kernel_msm,代码行数:13,


示例19: smsm_state_cb

static void smsm_state_cb(void *data, uint32_t old_state, uint32_t new_state){	/* Ignore if we're the one that set SMSM_RESET */	if (crash_shutdown)		return;	if (new_state & SMSM_RESET) {		pr_err("Modem SMSM state changed to SMSM_RESET./n"			"Probable err_fatal on the modem. "			"Calling subsystem restart.../n");		subsystem_restart("modem");	}}
开发者ID:throwaway17,项目名称:inspirational,代码行数:13,


示例20: mdm_force_fatal

/* simply declare this function as extern at test point, and call it */void mdm_force_fatal(void){	pr_info("%s: Reseting the mdm due to AP request/n", __func__);	force_dump = 1;	if (in_irq())		queue_work(mdm_queue, &mdm_fatal_work);	else {		notify_modem_fatal();		subsystem_restart(EXTERNAL_MODEM);	}}
开发者ID:Forest1971,项目名称:forest-cm11,代码行数:14,


示例21: mdm_errfatal

static irqreturn_t mdm_errfatal(int irq, void *dev_id){	pr_debug("%s: mdm got errfatal interrupt/n", __func__);	if (mdm_drv->mdm_ready &&		(gpio_get_value(mdm_drv->mdm2ap_status_gpio) == 1)) {		pr_info("%s: Reseting the mdm due to an errfatal/n", __func__);		mdm_drv->mdm_ready = 0;#ifdef CONFIG_LGE_EMS_CH	ems_mdm_crash_fatal_flag = true;#endif		subsystem_restart(EXTERNAL_MODEM);	}	return IRQ_HANDLED;}
开发者ID:hiikezoe,项目名称:android_kernel_lge_lgl21,代码行数:14,


示例22: modem_sw_fatal_fn

static void modem_sw_fatal_fn(struct work_struct *work){	uint32_t panic_smsm_states = SMSM_RESET | SMSM_SYSTEM_DOWNLOAD;	uint32_t reset_smsm_states = SMSM_SYSTEM_REBOOT_USR |					SMSM_SYSTEM_PWRDWN_USR;	uint32_t modem_state;	pr_err("Watchdog bite received from modem SW!/n");	modem_state = smsm_get_state(SMSM_MODEM_STATE);	if (modem_state & panic_smsm_states) {		pr_err("Modem SMSM state changed to SMSM_RESET./n"			"Probable err_fatal on the modem. "			"Calling subsystem restart.../n");#ifdef FEATURE_PANTECH_WLAN_QCOM_PATCH //lee.eunsuk 20120423, SSR		panic(MODULE_NAME "Modem crashed.");#else		subsystem_restart("modem");#endif	} else if (modem_state & reset_smsm_states) {		pr_err("%s: User-invoked system reset/powerdown. "			"Resetting the SoC now./n",			__func__);		kernel_restart(NULL);	} else {		/* TODO: Bus unlock code/sequence goes _here_ */#ifdef FEATURE_PANTECH_WLAN_QCOM_PATCH //lee.eunsuk 20120423, SSR		panic(MODULE_NAME "Modem crashed.");#else		subsystem_restart("modem");#endif	}}
开发者ID:NieNs,项目名称:IM-A840S-kernel-1,代码行数:37,


示例23: wpalRivaSubystemRestart

wpt_status wpalRivaSubystemRestart(void){    if (vos_is_load_unload_in_progress(VOS_MODULE_ID_WDI, NULL))    {         WPAL_TRACE(eWLAN_MODULE_PAL, eWLAN_PAL_TRACE_LEVEL_FATAL,                 "%s: loading/unloading in progress,"                 " SSR will be done at the end of unload", __func__);         return eWLAN_PAL_STATUS_E_FAILURE;    }    if (0 == subsystem_restart("wcnss"))     {        return eWLAN_PAL_STATUS_SUCCESS;    }    return eWLAN_PAL_STATUS_E_FAILURE;}
开发者ID:Arc-Team,项目名称:android_kernel_htc_a11,代码行数:15,


示例24: modem_unlock_timeout

static void modem_unlock_timeout(struct work_struct *work){	void __iomem *hwio_modem_reset_addr =			ioremap_nocache(MODEM_HWIO_MSS_RESET_ADDR, 8);	pr_crit("%s: Timeout waiting for modem to unlock./n", MODULE_NAME);	/* Set MSS_MODEM_RESET to 0x0 since the unlock didn't work */	writel_relaxed(0x0, hwio_modem_reset_addr);	/* Write needs to go through before the modem is restarted. */	mb();	iounmap(hwio_modem_reset_addr);	subsystem_restart("modem");	enable_irq(MARM_WDOG_EXPIRED);}
开发者ID:84506232,项目名称:bricked-pyramid-3.0,代码行数:15,


示例25: mdm_status_fn

static void mdm_status_fn(struct work_struct *work){	int i;	int value = gpio_get_value(mdm_drv->mdm2ap_status_gpio);	if (!mdm_drv->mdm_ready)		return;		if (value == 0) {		for (i = HTC_MDM_ERROR_CONFIRM_TIME_MS; i > 0; i--) {			msleep(1);			if (gpio_get_value(mdm_drv->mdm2ap_status_gpio) == 1) {				pr_info("%s: mdm status low %d(ms) confirm failed... Abort!/n", __func__, HTC_MDM_ERROR_CONFIRM_TIME_MS);				return;			}		}	}		if ( ( get_radio_flag() & RADIO_FLAG_USB_UPLOAD ) ) {		if ( value == 0 ) {			int val_gpio = 0;			msleep(40);			val_gpio = gpio_get_value(mdm_drv->mdm2ap_hsic_ready_gpio);			pr_info("%s:mdm2ap_hsic_ready_gpio=[%d]/n", __func__, val_gpio);		}	}		mdm_status_change_notified = true;		mdm_drv->ops->status_cb(mdm_drv, value);	pr_debug("%s: status:%d/n", __func__, value);	if (value == 0) {		pr_info("%s: unexpected reset external modem/n", __func__);				mdm_crash_dump_dbg_info();				subsystem_restart(EXTERNAL_MODEM);	} else if (value == 1) {		pr_info("%s: status = 1: mdm is now ready/n", __func__);	}}
开发者ID:bgcngm,项目名称:802Xtreem,代码行数:48,


示例26: mdm_fatal_fn

static void mdm_fatal_fn(struct work_struct *work){	//HTC_Kris+++	unsigned long flags;	extern bool is_mdm_hsic_phy_suspended;	extern bool is_mdm_hsic_wakeup_in_progress;	extern void mdm_hsic_disable_auto_suspend(void);	int i;	//HTC_Kris---	pr_info("%s: Reseting the mdm due to an errfatal/n", __func__);	//HTC_Kris+++	pr_info("%s: mdm_hsic_disable_auto_suspend+/n", __func__);	mdm_hsic_disable_auto_suspend();	pr_info("%s: mdm_hsic_disable_auto_suspend-/n", __func__);	//HTC_Kris---	/* HTC added start */	dump_mdm_related_gpio();	//++SSD_RIL:20120724:delay 3 secs before call subsystem restart	if ( get_radio_flag() & 0x0008 ) {		mdelay(3000);	}	//--SSD_RIL	/* HTC added end */	//HTC_Kris+++	//Before do radio restart, make sure mdm_hsic_phy is not suspended, otherwise, PORTSC will be kept at 1800	if (is_mdm_hsic_phy_suspended) {		pr_info("%s(%d): is_mdm_hsic_phy_suspended:%d/n", __func__, __LINE__, is_mdm_hsic_phy_suspended);		pr_info("%s(%d): wakeup hsic/n", __func__, __LINE__);		spin_lock_irqsave(&mdm_hsic_wakeup_lock, flags);		mdm_hsic_wakeup();		spin_unlock_irqrestore(&mdm_hsic_wakeup_lock, flags);		//wait until mdm_hsic_phy is not suspended, at most 10 seconds		for (i = 0; i < 100; i++) {			msleep_interruptible(1000);			if (!is_mdm_hsic_phy_suspended && !is_mdm_hsic_wakeup_in_progress)				break;		}		pr_info("%s(%d): is_mdm_hsic_phy_suspended:%d/n", __func__, __LINE__, is_mdm_hsic_phy_suspended);	}	//HTC_Kris---	subsystem_restart(EXTERNAL_MODEM);}
开发者ID:jareddantis,项目名称:pulsar-kernel_enrc2b,代码行数:48,


示例27: modem_fatal_fn

static void modem_fatal_fn(struct work_struct *work){	uint32_t modem_state;	uint32_t panic_smsm_states = SMSM_RESET | SMSM_SYSTEM_DOWNLOAD;	uint32_t reset_smsm_states = SMSM_SYSTEM_REBOOT_USR |					SMSM_SYSTEM_PWRDWN_USR;	pr_err("%s: Watchdog bite received from modem!/n", MODULE_NAME);	modem_state = smsm_get_state(SMSM_MODEM_STATE);	pr_err("%s: Modem SMSM state = 0x%x!", MODULE_NAME, modem_state);	if (modem_state == 0 || modem_state & panic_smsm_states) {		subsystem_restart("modem");		enable_irq(MARM_WDOG_EXPIRED);	} else if (modem_state & reset_smsm_states) {		pr_err("%s: User-invoked system reset/powerdown.",			MODULE_NAME);		soc_restart(RESTART_MODE_MODEM_WATCHDOG_BITE, "MODEM DOG!");	} else {		int ret;		void *hwio_modem_reset_addr =				ioremap_nocache(MODEM_HWIO_MSS_RESET_ADDR, 8);		pr_err("%s: Modem AHB locked up./n", MODULE_NAME);		pr_err("%s: Trying to free up modem!/n", MODULE_NAME);		/* We don't want it happens */		BUG_ON(!hwio_modem_reset_addr);		writel(0x3, hwio_modem_reset_addr);		/* If we are still alive after 6 seconds (allowing for		 * the 5-second-delayed-panic-reboot), modem is either		 * still wedged or SMSM didn't come through. Force panic		 * in that case.		*/		ret = schedule_delayed_work(&modem_unlock_timeout_work,					msecs_to_jiffies(6000));		iounmap(hwio_modem_reset_addr);	}}
开发者ID:84506232,项目名称:htc-rider-ics-kernel,代码行数:47,


示例28: modem_wdog_check

static void modem_wdog_check(struct work_struct *work){	void __iomem *q6_sw_wdog_addr;	u32 regval;	q6_sw_wdog_addr = ioremap_nocache(Q6_SW_WDOG_ENABLE, 4);	if (!q6_sw_wdog_addr)		panic("Unable to check modem watchdog status./n");	regval = readl_relaxed(q6_sw_wdog_addr);	if (!regval) {		pr_err("modem-8960: Modem watchdog wasn't activated!. Restarting the modem now./n");		subsystem_restart("modem");	}	iounmap(q6_sw_wdog_addr);}
开发者ID:NieNs,项目名称:IM-A840S-kernel-1,代码行数:17,


示例29: riva_subsystem_restart_by_host

void riva_subsystem_restart_by_host(void){	riva_crash = true;	if (ss_restart_inprogress) {		pr_err("%s: Ignoring riva restart by host, restart in progress/n", MODULE_NAME);		return;	}	if (!enable_riva_ssr) {		ssr_set_restart_reason("riva fatal: RIVA restart by host, mostly casued by WDI timeout");		panic(MODULE_NAME ": Riva restart by host. Mostly casued by WDI timeout");	}	ss_restart_inprogress = true;	subsystem_restart("riva");}
开发者ID:Ca1ne,项目名称:Enoch316,代码行数:17,


示例30: smsm_state_cb

static void smsm_state_cb(void *data, uint32_t old_state, uint32_t new_state){	/* Ignore if we're the one that set SMSM_RESET */	if (crash_shutdown)		return;	if (new_state & SMSM_RESET) {		pr_err("Modem SMSM state changed to SMSM_RESET./n"			"Probable err_fatal on the modem. "			"Calling subsystem restart.../n");#ifdef FEATURE_PANTECH_WLAN_QCOM_PATCH //lee.eunsuk 20120423, SSR		panic(MODULE_NAME "Modem crashed.");#else		subsystem_restart("modem");#endif	}}
开发者ID:NieNs,项目名称:IM-A840S-kernel-1,代码行数:17,



注:本文中的subsystem_restart函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ subsystem_restart_dev函数代码示例
C++ subsys_to_drv函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。