本文整理汇总了C++中pil_shutdown函数的典型用法代码示例。如果您正苦于以下问题:C++ pil_shutdown函数的具体用法?C++ pil_shutdown怎么用?C++ pil_shutdown使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了pil_shutdown函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: modem_stop
static void modem_stop(const struct subsys_desc *desc)
{
struct q6v4_modem *drv = desc_to_modem(desc);
if (drv->loadable) {
pil_shutdown(&drv->q6_sw.desc);
pil_shutdown(&drv->q6_fw.desc);
}
}
开发者ID:1041574425,项目名称:Z5S_NX503A_130_kernel,代码行数:8,代码来源:pil-q6v4-mss.c
示例2: mss_stop
static void mss_stop(const struct subsys_desc *desc)
{
struct modem_data *drv = subsys_to_drv(desc);
if (desc->is_not_loadable)
return;
pil_shutdown(&drv->mba->desc);
pil_shutdown(&drv->q6->desc);
}
开发者ID:TeamRegular,项目名称:android_kernel_lge_e2nxx-stock,代码行数:10,代码来源:pil-q6v5-mss.c
示例3: modem_shutdown
static int modem_shutdown(const struct subsys_desc *subsys)
{
struct modem_data *drv;
drv = container_of(subsys, struct modem_data, subsys_desc);
/*
* If the modem didn't already crash, setting SMSM_RESET here will help
* flush caches etc. The ignore_smsm_ack flag is set to ignore the
* SMSM_RESET notification that is generated due to the modem settings
* its own SMSM_RESET bit in response to the apps setting the apps
* SMSM_RESET bit.
*/
if (!(smsm_get_state(SMSM_MODEM_STATE) & SMSM_RESET)) {
drv->ignore_smsm_ack = 1;
smsm_reset_modem(SMSM_RESET);
}
/* Disable the modem watchdog to allow clean modem bootup */
writel_relaxed(0x0, drv->wdog + 0x8);
/*
* The write above needs to go through before the modem is powered up
* again.
*/
mb();
/* Wait here to allow the modem to clean up caches, etc. */
msleep(20);
pil_shutdown(&drv->pil_desc);
disable_irq_nosync(drv->irq);
return 0;
}
开发者ID:miing,项目名称:lmkp_msm,代码行数:32,代码来源:pil-modem.c
示例4: lpass_q6_stop
static void lpass_q6_stop(const struct subsys_desc *subsys)
{
struct q6v3_data *drv;
drv = container_of(subsys, struct q6v3_data, subsys_desc);
pil_shutdown(&drv->pil_desc);
}
开发者ID:1041574425,项目名称:Z5S_NX503A_130_kernel,代码行数:7,代码来源:pil-q6v3.c
示例5: pil_put
/**
* pil_put() - Inform PIL the peripheral no longer needs to be active
* @peripheral_handle: pointer from a previous call to pil_get()
*
* This doesn't imply that a peripheral is shutdown or in reset since another
* driver could be using the peripheral.
*/
void pil_put(void *peripheral_handle)
{
struct pil_device *pil_d, *pil = peripheral_handle;
if (IS_ERR_OR_NULL(pil))
return;
mutex_lock(&pil->lock);
if (WARN(!pil->count, "%s: %s: Reference count mismatch\n",
pil->desc->name, __func__))
goto err_out;
/* LGE_CHANGE */
#if CONFIG_MACH_LGE
//LGE_CHANES : Workaround code for pereventing watchdog reset.(QCT Patch)
if (!--pil->count){
if (!!strncmp("modem", pil->desc->name, 5)) //ALRAN : LG FX3 - allow pil_put only for not modem*
pil_shutdown(pil);
else{
pr_err("ALRAN: pil %s shutdown, but block it\n", pil->desc->name);
pil->count++;
}
}
#else
if (!--pil->count)
pil_shutdown(pil);
#endif
mutex_unlock(&pil->lock);
pil_d = find_peripheral(pil->desc->depends_on);
module_put(pil->owner);
if (pil_d) {
pil_put(pil_d);
put_device(&pil_d->dev);
}
put_device(&pil->dev);
return;
err_out:
mutex_unlock(&pil->lock);
return;
}
开发者ID:Dm47021,项目名称:Android_kernel_f6mt_aosp,代码行数:49,代码来源:peripheral-loader.c
示例6: wcnss_shutdown
static int wcnss_shutdown(const struct subsys_desc *subsys)
{
struct pronto_data *drv = subsys_to_drv(subsys);
pil_shutdown(&drv->desc);
return 0;
}
开发者ID:ipaccess,项目名称:fsm92xx-kernel-sources,代码行数:7,代码来源:pil-pronto.c
示例7: riva_stop
static void riva_stop(const struct subsys_desc *desc)
{
struct riva_data *drv;
drv = container_of(desc, struct riva_data, subsys_desc);
pil_shutdown(&drv->pil_desc);
}
开发者ID:1041574425,项目名称:Z5S_NX503A_KitKat_kernel,代码行数:7,代码来源:pil-riva.c
示例8: pil_put
/**
* pil_put() - Inform PIL the peripheral no longer needs to be active
* @peripheral_handle: pointer from a previous call to pil_get()
*
* This doesn't imply that a peripheral is shutdown or in reset since another
* driver could be using the peripheral.
*/
void pil_put(void *peripheral_handle)
{
struct pil_device *pil_d, *pil = peripheral_handle;
if (IS_ERR_OR_NULL(pil))
return;
mutex_lock(&pil->lock);
if (WARN(!pil->count, "%s: Reference count mismatch\n", __func__))
goto err_out;
if (!--pil->count)
pil_shutdown(pil);
mutex_unlock(&pil->lock);
pil_d = find_peripheral(pil->desc->depends_on);
module_put(pil->owner);
if (pil_d) {
pil_put(pil_d);
put_device(&pil_d->dev);
}
put_device(&pil->dev);
return;
err_out:
mutex_unlock(&pil->lock);
return;
}
开发者ID:0987363,项目名称:BMW-OpenSource,代码行数:33,代码来源:peripheral-loader.c
示例9: modem_shutdown
static int modem_shutdown(const struct subsys_desc *subsys, bool force_stop)
{
struct modem_data *drv = subsys_to_drv(subsys);
unsigned long ret;
if (subsys->is_not_loadable)
return 0;
if (!subsys_get_crash_status(drv->subsys) && force_stop &&
subsys->force_stop_gpio) {
gpio_set_value(subsys->force_stop_gpio, 1);
ret = wait_for_completion_timeout(&drv->stop_ack,
msecs_to_jiffies(STOP_ACK_TIMEOUT_MS));
if (!ret)
pr_warn("Timed out on stop ack from modem.\n");
gpio_set_value(subsys->force_stop_gpio, 0);
}
if (drv->subsys_desc.ramdump_disable_gpio) {
drv->subsys_desc.ramdump_disable = gpio_get_value(
drv->subsys_desc.ramdump_disable_gpio);
pr_warn("Ramdump disable gpio value is %d\n",
drv->subsys_desc.ramdump_disable);
}
pil_shutdown(&drv->q6->desc);
return 0;
}
开发者ID:Menpiko,项目名称:SnaPKernel-N6P,代码行数:29,代码来源:pil-q6v5-mss.c
示例10: modem_stop
static void modem_stop(const struct subsys_desc *subsys)
{
struct modem_data *drv;
drv = container_of(subsys, struct modem_data, subsys_desc);
pil_shutdown(&drv->pil_desc);
}
开发者ID:miing,项目名称:lmkp_msm,代码行数:7,代码来源:pil-modem.c
示例11: modem_powerup
static int modem_powerup(const struct subsys_desc *subsys)
{
struct modem_data *drv = subsys_to_drv(subsys);
int ret;
#ifdef CONFIG_MACH_LGE
pr_info("%s : modem is powering up\n", __func__);
dump_stack();
#endif
if (subsys->is_not_loadable)
return 0;
/*
* At this time, the modem is shutdown. Therefore this function cannot
* run concurrently with either the watchdog bite error handler or the
* SMSM callback, making it safe to unset the flag below.
*/
INIT_COMPLETION(drv->stop_ack);
drv->ignore_errors = false;
/* START : subsys_modem_restart : testmode */
ignore_errors_by_subsys_modem_restart = false;
/* END : subsys_modem_restart : testmode */
ret = pil_boot(&drv->q6->desc);
if (ret)
return ret;
ret = pil_boot(&drv->mba->desc);
if (ret)
pil_shutdown(&drv->q6->desc);
return ret;
}
开发者ID:TeamRegular,项目名称:android_kernel_lge_e2nxx-stock,代码行数:31,代码来源:pil-q6v5-mss.c
示例12: pil_put
void pil_put(void *peripheral_handle)
{
struct pil_device *pil_d, *pil = peripheral_handle;
if (IS_ERR_OR_NULL(pil))
return;
printk("%s: %s(%d) for %s\n", __func__, current->comm, current->pid, pil->desc->name);
mutex_lock(&pil->lock);
if (WARN(!pil->count, "%s: %s: Reference count mismatch\n",
pil->desc->name, __func__))
goto err_out;
#ifdef CONFIG_MACH_VILLEC2
if (pil->count == 1)
goto unlock;
#endif
if (!--pil->count)
pil_shutdown(pil);
#ifdef CONFIG_MACH_VILLEC2
unlock:
#endif
mutex_unlock(&pil->lock);
pil_d = find_peripheral(pil->desc->depends_on);
module_put(pil->owner);
if (pil_d) {
pil_put(pil_d);
put_device(&pil_d->dev);
}
put_device(&pil->dev);
return;
err_out:
mutex_unlock(&pil->lock);
return;
}
开发者ID:Buckmarble,项目名称:Lunar_kernel_sense_m7,代码行数:35,代码来源:peripheral-loader.c
示例13: bcss_shutdown
static int bcss_shutdown(const struct subsys_desc *subsys, bool force_stop)
{
struct bcss_data *drv = subsys_to_drv(subsys);
pil_shutdown(&drv->desc);
return 0;
}
开发者ID:AD5GB,项目名称:wicked_kernel_lge_hammerhead,代码行数:8,代码来源:pil-bcss.c
示例14: adsp_shutdown
static int adsp_shutdown(const struct subsys_desc *subsys, bool force_stop)
{
struct lpass_data *drv = subsys_to_lpass(subsys);
pil_shutdown(&drv->q6->desc);
pr_debug("ADSP is Down\n");
adsp_set_state("OFFLINE");
return 0;
}
开发者ID:adyjl,项目名称:DORIMANX_LG_STOCK_LP_KERNEL,代码行数:10,代码来源:pil-q6v5-lpass.c
示例15: modem_shutdown
static int modem_shutdown(const struct subsys_desc *subsys)
{
struct q6v4_modem *drv = desc_to_modem(subsys);
/* The watchdogs keep running even after the modem is shutdown */
writel_relaxed(0x0, drv->q6_fw.wdog_base + 0x24);
writel_relaxed(0x0, drv->q6_sw.wdog_base + 0x24);
mb();
if (drv->loadable) {
pil_shutdown(&drv->q6_sw.desc);
pil_shutdown(&drv->q6_fw.desc);
}
disable_irq_nosync(drv->q6_fw.wdog_irq);
disable_irq_nosync(drv->q6_sw.wdog_irq);
return 0;
}
开发者ID:1041574425,项目名称:Z5S_NX503A_130_kernel,代码行数:19,代码来源:pil-q6v4-mss.c
示例16: wcnss_shutdown
static int wcnss_shutdown(const struct subsys_desc *subsys)
{
struct pronto_data *drv = subsys_to_drv(subsys);
pil_shutdown(&drv->desc);
flush_delayed_work(&drv->cancel_vote_work);
wcnss_flush_delayed_boot_votes();
return 0;
}
开发者ID:Adamentys,项目名称:Dorimanx-LG-G2-D802-Kernel,代码行数:10,代码来源:pil-pronto.c
示例17: dsps_shutdown
static int dsps_shutdown(const struct subsys_desc *desc)
{
struct dsps_data *drv = desc_to_drv(desc);
disable_irq_nosync(drv->wdog_irq);
if (drv->ppss_base) {
writel_relaxed(0, drv->ppss_base + PPSS_WDOG_UNMASKED_INT_EN);
mb(); /* Make sure wdog is disabled before shutting down */
}
pil_shutdown(&drv->desc);
return 0;
}
开发者ID:Gilbert32,项目名称:dellstreak5-kernel-3.4,代码行数:11,代码来源:pil-dsps.c
示例18: pil_femto_modem_stop
static int pil_femto_modem_stop(struct femto_modem_data *drv)
{
if (!drv)
return -EINVAL;
/* Only need to shutdown the Q6 PIL descriptor, because shutting down
* the others does nothing.
*/
pil_shutdown(&drv->q6->desc);
return 0;
}
开发者ID:rbheromax,项目名称:android_kernel_lge_dory,代码行数:11,代码来源:pil-femto-modem.c
示例19: riva_shutdown
static int riva_shutdown(const struct subsys_desc *desc)
{
struct riva_data *drv;
drv = container_of(desc, struct riva_data, subsys_desc);
pil_shutdown(&drv->pil_desc);
flush_delayed_work(&drv->cancel_work);
wcnss_flush_delayed_boot_votes();
disable_irq_nosync(drv->irq);
return 0;
}
开发者ID:1041574425,项目名称:Z5S_NX503A_KitKat_kernel,代码行数:12,代码来源:pil-riva.c
示例20: lpass_q6_shutdown
static int lpass_q6_shutdown(const struct subsys_desc *subsys)
{
struct q6v3_data *drv;
drv = container_of(subsys, struct q6v3_data, subsys_desc);
send_q6_nmi(drv);
writel_relaxed(0x0, drv->wd_base + 0x24);
mb();
pil_shutdown(&drv->pil_desc);
disable_irq_nosync(drv->irq);
return 0;
}
开发者ID:1041574425,项目名称:Z5S_NX503A_130_kernel,代码行数:14,代码来源:pil-q6v3.c
注:本文中的pil_shutdown函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论