static void bcmsdh_sdmmc_remove(struct sdio_func *func) { if (func == NULL) { sd_err(("%s is called with NULL SDIO function pointer\n", __FUNCTION__)); return; } sd_trace(("bcmsdh_sdmmc: %s Enter\n", __FUNCTION__)); sd_info(("sdio_bcmsdh: func->class=%x\n", func->class)); sd_info(("sdio_vendor: 0x%04x\n", func->vendor)); sd_info(("sdio_device: 0x%04x\n", func->device)); sd_info(("Function#: 0x%04x\n", func->num)); if ((func->num == 2) || (func->num == 1 && func->device == 0x4)) sdioh_remove(func); }
static void bcmsdh_sdmmc_remove(struct sdio_func *func) { if (func == NULL) { sd_err(("%s is called with NULL SDIO function pointer\n", __FUNCTION__)); return; } sd_trace(("bcmsdh_sdmmc: %s Enter\n", __FUNCTION__)); sd_info(("sdio_bcmsdh: func->class=%x\n", func->class)); sd_info(("sdio_vendor: 0x%04x\n", func->vendor)); sd_info(("sdio_device: 0x%04x\n", func->device)); sd_info(("Function#: 0x%04x\n", func->num)); if ((func->num == 2) || (func->num == 1 && func->device == 0x4)) sdioh_remove(func); #ifdef CONFIG_MACH_NOTLE if (func->num == 2) { cancel_delayed_work_sync(&bcmshd_resume_work); destroy_workqueue(sdmmc_pm_workqueue); } #endif }