static int bcmsdh_sdmmc_resume(struct device *pdev) { #ifdef CONFIG_MACH_NOTLE struct sdio_func *func = dev_to_sdio_func(pdev); dev_err(pdev,"%s(%d) [%08x]\n",__func__, __LINE__,(unsigned int*) pdev); sd_err(("%s Enter\n", __FUNCTION__)); if (func->num != 2) return 0; bcmshd_resume_work_sdio_func = dev_to_sdio_func(pdev); queue_delayed_work(sdmmc_pm_workqueue, &bcmshd_resume_work, msecs_to_jiffies(0)); #else sdioh_info_t *sdioh; struct sdio_func *func = dev_to_sdio_func(pdev); sd_err(("%s Enter\n", __FUNCTION__)); if (func->num != 2) return 0; sdioh = sdio_get_drvdata(func); dhd_mmc_suspend = FALSE; #if defined(OOB_INTR_ONLY) bcmsdh_resume(sdioh->bcmsdh); #endif smp_mb(); #endif return 0; }
static int bcmsdh_sdmmc_resume(struct device *pdev) { sdioh_info_t *sdioh; struct sdio_func *func = dev_to_sdio_func(pdev); sd_err(("%s Enter\n", __FUNCTION__)); if (func->num != 2) return 0; sdioh = sdio_get_drvdata(func); dhd_mmc_suspend = FALSE; #if defined(OOB_INTR_ONLY) && !defined(CUSTOMER_HW4) bcmsdh_resume(sdioh->bcmsdh); #endif /* OOB_INTR_ONLY && !CUSTOMER_HW4 */ smp_mb(); return 0; }
static int bcmsdh_sdmmc_resume(struct device *pdev) { sdioh_info_t *sdioh; struct sdio_func *func = dev_to_sdio_func(pdev); sd_err(("%s +\n", __FUNCTION__)); if (func->num != 2) return 0; sdioh = sdio_get_drvdata(func); dhd_mmc_suspend = FALSE; #if defined(OOB_INTR_ONLY) #ifndef HW_WIFI_OOB_INT_SET bcmsdh_resume(sdioh->bcmsdh); #endif #endif smp_mb(); sd_err(("%s -\n", __FUNCTION__)); return 0; }
static int bcmsdh_sdmmc_resume(struct device *pdev) { #if defined(OOB_INTR_ONLY) sdioh_info_t *sdioh; #endif struct sdio_func *func = dev_to_sdio_func(pdev); printk("%s Enter\n", __FUNCTION__); if (func->num != 2) return 0; dhd_mmc_suspend = FALSE; #if defined(OOB_INTR_ONLY) sdioh = sdio_get_drvdata(func); bcmsdh_resume(sdioh->bcmsdh); #endif smp_mb(); printk("%s Exit\n", __FUNCTION__); return 0; }
static void bcmshd_resume_delayed_work_fn(struct work_struct * work) { if (dhd_mmc_suspend) { sdioh_info_t *sdioh; struct sdio_func *func = bcmshd_resume_work_sdio_func; printk("\nbcmshd_resume_delayed_work_fn\n"); sd_err(("%s Enter\n", __FUNCTION__)); if (func->num != 2) return; sdioh = sdio_get_drvdata(func); dhd_mmc_suspend = FALSE; #if defined(OOB_INTR_ONLY) bcmsdh_resume(sdioh->bcmsdh); #endif smp_mb(); } }
static int bcmsdh_sdmmc_resume(struct device *pdev) { sdioh_info_t *sdioh; struct sdio_func *func = dev_to_sdio_func(pdev); struct mmc_host *host; sd_err(("%s Enter\n", __FUNCTION__)); if (func->num != 2) return 0; host = func->card->host; host->pm_flags &= ~MMC_PM_KEEP_POWER; sdioh = sdio_get_drvdata(func); dhd_mmc_suspend = FALSE; #if defined(OOB_INTR_ONLY) bcmsdh_resume(sdioh->bcmsdh); #endif smp_mb(); return 0; }
static int bcmsdh_sdmmc_resume(struct sdio_func *func) { if (func->num == 1) bcmsdh_resume(&sdmmc_dev); return 0; }