Lines Matching refs:func
23 static int cistpl_vers_1(struct mmc_card *card, struct sdio_func *func, in cistpl_vers_1() argument
59 if (func) { in cistpl_vers_1()
60 func->num_info = nr_strings; in cistpl_vers_1()
61 func->info = (const char**)buffer; in cistpl_vers_1()
70 static int cistpl_manfid(struct mmc_card *card, struct sdio_func *func, in cistpl_manfid() argument
81 if (func) { in cistpl_manfid()
82 func->vendor = vendor; in cistpl_manfid()
83 func->device = device; in cistpl_manfid()
107 static int cis_tpl_parse(struct mmc_card *card, struct sdio_func *func, in cis_tpl_parse() argument
123 ret = tpl->parse(card, func, buf, size); in cis_tpl_parse()
142 static int cistpl_funce_common(struct mmc_card *card, struct sdio_func *func, in cistpl_funce_common() argument
146 if (func) in cistpl_funce_common()
159 static int cistpl_funce_func(struct mmc_card *card, struct sdio_func *func, in cistpl_funce_func() argument
166 if (!func) in cistpl_funce_func()
173 vsn = func->card->cccr.sdio_vsn; in cistpl_funce_func()
185 func->max_blksize = buf[12] | (buf[13] << 8); in cistpl_funce_func()
189 func->enable_timeout = (buf[28] | (buf[29] << 8)) * 10; in cistpl_funce_func()
191 func->enable_timeout = jiffies_to_msecs(HZ); in cistpl_funce_func()
209 static int cistpl_funce(struct mmc_card *card, struct sdio_func *func, in cistpl_funce() argument
215 return cis_tpl_parse(card, func, "CISTPL_FUNCE", in cistpl_funce()
230 static int sdio_read_cis(struct mmc_card *card, struct sdio_func *func) in sdio_read_cis() argument
244 if (func) in sdio_read_cis()
245 fn = func->num; in sdio_read_cis()
256 if (func) in sdio_read_cis()
257 prev = &func->tuples; in sdio_read_cis()
303 ret = cis_tpl_parse(card, func, "CIS", in sdio_read_cis()
343 if (func) in sdio_read_cis()
369 int sdio_read_func_cis(struct sdio_func *func) in sdio_read_func_cis() argument
373 ret = sdio_read_cis(func->card, func); in sdio_read_func_cis()
381 get_device(&func->card->dev); in sdio_read_func_cis()
387 if (func->vendor == 0) { in sdio_read_func_cis()
388 func->vendor = func->card->cis.vendor; in sdio_read_func_cis()
389 func->device = func->card->cis.device; in sdio_read_func_cis()
395 void sdio_free_func_cis(struct sdio_func *func) in sdio_free_func_cis() argument
399 tuple = func->tuples; in sdio_free_func_cis()
401 while (tuple && tuple != func->card->tuples) { in sdio_free_func_cis()
407 func->tuples = NULL; in sdio_free_func_cis()
413 put_device(&func->card->dev); in sdio_free_func_cis()