Lines Matching defs:func
65 struct device *dev = &card->func->dev;
352 reg = sdio_readb(card->func, card->reg->card_rx_unit, &ret);
366 fws0 = sdio_readb(card->func, card->reg->card_fw_status0, &ret);
370 fws1 = sdio_readb(card->func, card->reg->card_fw_status1, &ret);
384 reg = sdio_readb(card->func, card->reg->card_rx_len, &ret);
396 sdio_writeb(card->func, mask, card->reg->host_int_mask, &ret);
411 host_int_mask = sdio_readb(card->func, card->reg->host_int_mask, &ret);
417 sdio_writeb(card->func, host_int_mask, card->reg->host_int_mask, &ret);
433 status = sdio_readb(card->func, card->reg->card_status, &ret);
458 sdio_claim_host(card->func);
460 sdio_release_host(card->func);
484 &card->func->dev);
541 ret = sdio_writesb(card->func, card->ioport, helperbuf,
556 ret = sdio_writesb(card->func, card->ioport, helperbuf,
584 &card->func->dev);
625 base0 = sdio_readb(card->func,
635 base1 = sdio_readb(card->func,
689 ret = sdio_writesb(card->func, card->ioport, fwbuf,
695 sdio_writeb(card->func, HOST_CMD53_FIN,
724 if (!card || !card->func) {
765 ret = sdio_readsb(card->func, payload, card->ioport,
848 sdio_claim_host(card->func);
860 sdio_release_host(card->func);
870 ret = sdio_readsb(card->func, adapter->hw_regs, 0, SDIO_BLOCK_SIZE);
886 *ireg = sdio_readb(card->func, card->reg->host_intstatus, &ret);
900 sdio_writeb(card->func, ~(*ireg) & (DN_LD_HOST_INT_STATUS |
912 static void btmrvl_sdio_interrupt(struct sdio_func *func)
920 card = sdio_get_drvdata(func);
923 func, card);
949 struct sdio_func *func;
953 if (!card || !card->func) {
959 func = card->func;
961 sdio_claim_host(func);
963 ret = sdio_enable_func(func);
970 ret = sdio_claim_irq(func, btmrvl_sdio_interrupt);
977 ret = sdio_set_block_size(card->func, SDIO_BLOCK_SIZE);
984 reg = sdio_readb(func, card->reg->io_port_0, &ret);
992 reg = sdio_readb(func, card->reg->io_port_1, &ret);
1000 reg = sdio_readb(func, card->reg->io_port_2, &ret);
1008 BT_DBG("SDIO FUNC%d IO port: 0x%x", func->num, card->ioport);
1011 reg = sdio_readb(func, card->reg->host_int_rsr, &ret);
1016 sdio_writeb(func, reg | 0x3f, card->reg->host_int_rsr, &ret);
1022 reg = sdio_readb(func, card->reg->card_misc_cfg, &ret);
1027 sdio_writeb(func, reg | 0x10, card->reg->card_misc_cfg, &ret);
1034 sdio_set_drvdata(func, card);
1036 sdio_release_host(func);
1041 sdio_release_irq(func);
1044 sdio_disable_func(func);
1047 sdio_release_host(func);
1055 if (card && card->func) {
1056 sdio_claim_host(card->func);
1057 sdio_release_irq(card->func);
1058 sdio_disable_func(card->func);
1059 sdio_release_host(card->func);
1060 sdio_set_drvdata(card->func, NULL);
1070 if (!card || !card->func)
1073 sdio_claim_host(card->func);
1079 sdio_release_host(card->func);
1088 if (!card || !card->func)
1091 sdio_claim_host(card->func);
1095 sdio_release_host(card->func);
1111 if (!card || !card->func) {
1130 sdio_claim_host(card->func);
1134 ret = sdio_writesb(card->func, card->ioport, buf,
1149 sdio_release_host(card->func);
1161 if (!card || !card->func) {
1171 sdio_claim_host(card->func);
1174 fws0 = sdio_readb(card->func, card->reg->card_fw_status0, &ret);
1212 sdio_release_host(card->func);
1217 sdio_release_host(card->func);
1226 if (!card || !card->func) {
1231 sdio_claim_host(card->func);
1233 sdio_writeb(card->func, HOST_POWER_UP, card->reg->cfg, &ret);
1235 sdio_release_host(card->func);
1248 u8 loop, func, data;
1252 sdio_claim_host(card->func);
1260 func = loop;
1264 func = 2;
1270 func, reg_start, reg_end);
1272 if (func == 0)
1273 data = sdio_f0_readb(card->func, reg, &ret);
1275 data = sdio_readb(card->func, reg, &ret);
1288 sdio_release_host(card->func);
1300 sdio_writeb(card->func, FW_DUMP_HOST_READY, card->reg->fw_dump_ctrl,
1309 ctrl_data = sdio_readb(card->func, card->reg->fw_dump_ctrl,
1323 sdio_writeb(card->func, FW_DUMP_HOST_READY,
1344 struct sdio_func *func = dev_to_sdio_func(dev);
1354 card = sdio_get_drvdata(func);
1376 sdio_claim_host(card->func);
1386 dump_num = sdio_readb(card->func, reg, &ret);
1404 read_reg = sdio_readb(card->func, reg, &ret);
1415 sdio_writeb(card->func, FW_DUMP_READ_DONE,
1453 *dbg_ptr = sdio_readb(card->func, reg, &ret);
1478 sdio_release_host(card->func);
1521 dev_coredumpv(&card->func->dev, fw_dump_data, fw_dump_len, GFP_KERNEL);
1525 static int btmrvl_sdio_probe(struct sdio_func *func,
1533 id->vendor, id->device, id->class, func->num);
1535 card = devm_kzalloc(&func->dev, sizeof(*card), GFP_KERNEL);
1539 card->func = func;
1568 btmrvl_sdio_probe_of(&func->dev, card);
1599 static void btmrvl_sdio_remove(struct sdio_func *func)
1603 if (func) {
1604 card = sdio_get_drvdata(func);
1625 struct sdio_func *func = dev_to_sdio_func(dev);
1631 if (func) {
1632 pm_flags = sdio_get_host_pm_caps(func);
1633 BT_DBG("%s: suspend: PM flags = 0x%x", sdio_func_id(func),
1637 sdio_func_id(func));
1640 card = sdio_get_drvdata(func);
1686 return sdio_set_host_pm_flags(func, MMC_PM_KEEP_POWER);
1695 struct sdio_func *func = dev_to_sdio_func(dev);
1701 if (func) {
1702 pm_flags = sdio_get_host_pm_caps(func);
1703 BT_DBG("%s: resume: PM flags = 0x%x", sdio_func_id(func),
1705 card = sdio_get_drvdata(func);