Lines Matching refs:func
31 static int sdio_read_fbr(struct sdio_func *func) in sdio_read_fbr() argument
36 if (mmc_card_nonstd_func_interface(func->card)) { in sdio_read_fbr()
37 func->class = SDIO_CLASS_NONE; in sdio_read_fbr()
41 ret = mmc_io_rw_direct(func->card, 0, 0, in sdio_read_fbr()
42 SDIO_FBR_BASE(func->num) + SDIO_FBR_STD_IF, 0, &data); in sdio_read_fbr()
49 ret = mmc_io_rw_direct(func->card, 0, 0, in sdio_read_fbr()
50 SDIO_FBR_BASE(func->num) + SDIO_FBR_STD_IF_EXT, 0, &data); in sdio_read_fbr()
55 func->class = data; in sdio_read_fbr()
64 struct sdio_func *func; in sdio_init_func() local
68 func = sdio_alloc_func(card); in sdio_init_func()
69 if (IS_ERR(func)) in sdio_init_func()
70 return PTR_ERR(func); in sdio_init_func()
72 func->num = fn; in sdio_init_func()
75 ret = sdio_read_fbr(func); in sdio_init_func()
79 ret = sdio_read_func_cis(func); in sdio_init_func()
83 func->vendor = func->card->cis.vendor; in sdio_init_func()
84 func->device = func->card->cis.device; in sdio_init_func()
85 func->max_blksize = func->card->cis.blksize; in sdio_init_func()
88 card->sdio_func[fn - 1] = func; in sdio_init_func()
97 sdio_remove_func(func); in sdio_init_func()
881 struct sdio_func *func = host->card->sdio_func[i]; in mmc_sdio_pre_suspend() local
882 if (func && sdio_func_present(func) && func->dev.driver) { in mmc_sdio_pre_suspend()
883 const struct dev_pm_ops *pmops = func->dev.driver->pm; in mmc_sdio_pre_suspend()