Lines Matching refs:func
25 static int cistpl_vers_1(struct mmc_card *card, struct sdio_func *func, in cistpl_vers_1() argument
68 if (func) { in cistpl_vers_1()
69 func->major_rev = major_rev; in cistpl_vers_1()
70 func->minor_rev = minor_rev; in cistpl_vers_1()
71 func->num_info = nr_strings; in cistpl_vers_1()
72 func->info = (const char**)buffer; in cistpl_vers_1()
83 static int cistpl_manfid(struct mmc_card *card, struct sdio_func *func, in cistpl_manfid() argument
94 if (func) { in cistpl_manfid()
95 func->vendor = vendor; in cistpl_manfid()
96 func->device = device; in cistpl_manfid()
120 static int cis_tpl_parse(struct mmc_card *card, struct sdio_func *func, in cis_tpl_parse() argument
136 ret = tpl->parse(card, func, buf, size); in cis_tpl_parse()
155 static int cistpl_funce_common(struct mmc_card *card, struct sdio_func *func, in cistpl_funce_common() argument
159 if (func) in cistpl_funce_common()
172 static int cistpl_funce_func(struct mmc_card *card, struct sdio_func *func, in cistpl_funce_func() argument
179 if (!func) in cistpl_funce_func()
186 vsn = func->card->cccr.sdio_vsn; in cistpl_funce_func()
198 func->max_blksize = buf[12] | (buf[13] << 8); in cistpl_funce_func()
202 func->enable_timeout = (buf[28] | (buf[29] << 8)) * 10; in cistpl_funce_func()
204 func->enable_timeout = jiffies_to_msecs(HZ); in cistpl_funce_func()
222 static int cistpl_funce(struct mmc_card *card, struct sdio_func *func, in cistpl_funce() argument
228 return cis_tpl_parse(card, func, "CISTPL_FUNCE", in cistpl_funce()
243 static int sdio_read_cis(struct mmc_card *card, struct sdio_func *func) in sdio_read_cis() argument
257 if (func) in sdio_read_cis()
258 fn = func->num; in sdio_read_cis()
269 if (func) in sdio_read_cis()
270 prev = &func->tuples; in sdio_read_cis()
318 ret = cis_tpl_parse(card, func, "CIS", in sdio_read_cis()
372 if (func) in sdio_read_cis()
398 int sdio_read_func_cis(struct sdio_func *func) in sdio_read_func_cis() argument
402 ret = sdio_read_cis(func->card, func); in sdio_read_func_cis()
410 get_device(&func->card->dev); in sdio_read_func_cis()
416 if (func->vendor == 0) { in sdio_read_func_cis()
417 func->vendor = func->card->cis.vendor; in sdio_read_func_cis()
418 func->device = func->card->cis.device; in sdio_read_func_cis()
424 void sdio_free_func_cis(struct sdio_func *func) in sdio_free_func_cis() argument
428 tuple = func->tuples; in sdio_free_func_cis()
430 while (tuple && tuple != func->card->tuples) { in sdio_free_func_cis()
436 func->tuples = NULL; in sdio_free_func_cis()
442 put_device(&func->card->dev); in sdio_free_func_cis()