Lines Matching full:slot
29 #include <linux/mmc/slot-gpio.h>
53 struct sdhci_pci_slot *slot = chip->slots[i]; in sdhci_pci_init_wakeup() local
55 if (slot) { in sdhci_pci_init_wakeup()
56 pm_flags |= slot->host->mmc->pm_flags; in sdhci_pci_init_wakeup()
57 if (slot->host->mmc->caps & MMC_CAP_CD_WAKE) in sdhci_pci_init_wakeup()
77 struct sdhci_pci_slot *slot = chip->slots[i]; in sdhci_pci_suspend_host() local
80 if (!slot) in sdhci_pci_suspend_host()
83 host = slot->host; in sdhci_pci_suspend_host()
106 struct sdhci_pci_slot *slot; in sdhci_pci_resume_host() local
110 slot = chip->slots[i]; in sdhci_pci_resume_host()
111 if (!slot) in sdhci_pci_resume_host()
114 ret = sdhci_resume_host(slot->host); in sdhci_pci_resume_host()
118 mmc_gpio_set_cd_wake(slot->host->mmc, false); in sdhci_pci_resume_host()
150 struct sdhci_pci_slot *slot; in sdhci_pci_runtime_suspend_host() local
155 slot = chip->slots[i]; in sdhci_pci_runtime_suspend_host()
156 if (!slot) in sdhci_pci_runtime_suspend_host()
159 host = slot->host; in sdhci_pci_runtime_suspend_host()
180 struct sdhci_pci_slot *slot; in sdhci_pci_runtime_resume_host() local
184 slot = chip->slots[i]; in sdhci_pci_runtime_resume_host()
185 if (!slot) in sdhci_pci_runtime_resume_host()
188 ret = sdhci_runtime_resume_host(slot->host, 0); in sdhci_pci_runtime_resume_host()
259 static int ricoh_mmc_probe_slot(struct sdhci_pci_slot *slot) in ricoh_mmc_probe_slot() argument
261 slot->host->caps = in ricoh_mmc_probe_slot()
322 static int mrst_hc_probe_slot(struct sdhci_pci_slot *slot) in mrst_hc_probe_slot() argument
324 slot->host->mmc->caps |= MMC_CAP_8_BIT_DATA; in mrst_hc_probe_slot()
342 static int pch_hc_probe_slot(struct sdhci_pci_slot *slot) in pch_hc_probe_slot() argument
344 slot->host->mmc->caps |= MMC_CAP_8_BIT_DATA; in pch_hc_probe_slot()
352 struct sdhci_pci_slot *slot = dev_id; in sdhci_pci_sd_cd() local
353 struct sdhci_host *host = slot->host; in sdhci_pci_sd_cd()
359 static void sdhci_pci_add_own_cd(struct sdhci_pci_slot *slot) in sdhci_pci_add_own_cd() argument
361 int err, irq, gpio = slot->cd_gpio; in sdhci_pci_add_own_cd()
363 slot->cd_gpio = -EINVAL; in sdhci_pci_add_own_cd()
364 slot->cd_irq = -EINVAL; in sdhci_pci_add_own_cd()
369 err = devm_gpio_request(&slot->chip->pdev->dev, gpio, "sd_cd"); in sdhci_pci_add_own_cd()
382 IRQF_TRIGGER_FALLING, "sd_cd", slot); in sdhci_pci_add_own_cd()
386 slot->cd_gpio = gpio; in sdhci_pci_add_own_cd()
387 slot->cd_irq = irq; in sdhci_pci_add_own_cd()
392 devm_gpio_free(&slot->chip->pdev->dev, gpio); in sdhci_pci_add_own_cd()
394 dev_warn(&slot->chip->pdev->dev, "failed to setup card detect wake up\n"); in sdhci_pci_add_own_cd()
397 static void sdhci_pci_remove_own_cd(struct sdhci_pci_slot *slot) in sdhci_pci_remove_own_cd() argument
399 if (slot->cd_irq >= 0) in sdhci_pci_remove_own_cd()
400 free_irq(slot->cd_irq, slot); in sdhci_pci_remove_own_cd()
405 static inline void sdhci_pci_add_own_cd(struct sdhci_pci_slot *slot) in sdhci_pci_add_own_cd() argument
409 static inline void sdhci_pci_remove_own_cd(struct sdhci_pci_slot *slot) in sdhci_pci_remove_own_cd() argument
415 static int mfd_emmc_probe_slot(struct sdhci_pci_slot *slot) in mfd_emmc_probe_slot() argument
417 slot->host->mmc->caps |= MMC_CAP_8_BIT_DATA | MMC_CAP_NONREMOVABLE; in mfd_emmc_probe_slot()
418 slot->host->mmc->caps2 |= MMC_CAP2_BOOTPART_NOACC; in mfd_emmc_probe_slot()
422 static int mfd_sdio_probe_slot(struct sdhci_pci_slot *slot) in mfd_sdio_probe_slot() argument
424 slot->host->mmc->caps |= MMC_CAP_POWER_OFF_CARD | MMC_CAP_NONREMOVABLE; in mfd_sdio_probe_slot()
610 struct sdhci_pci_slot *slot = sdhci_priv(host); in intel_select_drive_strength() local
611 struct intel_host *intel_host = sdhci_pci_priv(slot); in intel_select_drive_strength()
658 struct sdhci_pci_slot *slot = sdhci_priv(host); in sdhci_intel_set_power() local
659 struct intel_host *intel_host = sdhci_pci_priv(slot); in sdhci_intel_set_power()
727 struct sdhci_pci_slot *slot = sdhci_priv(host); in intel_start_signal_voltage_switch() local
728 struct intel_host *intel_host = sdhci_pci_priv(slot); in intel_start_signal_voltage_switch()
776 static void byt_read_dsm(struct sdhci_pci_slot *slot) in byt_read_dsm() argument
778 struct intel_host *intel_host = sdhci_pci_priv(slot); in byt_read_dsm()
779 struct device *dev = &slot->chip->pdev->dev; in byt_read_dsm()
780 struct mmc_host *mmc = slot->host->mmc; in byt_read_dsm()
783 slot->chip->rpm_retune = intel_host->d3_retune; in byt_read_dsm()
813 static void intel_cache_ltr(struct sdhci_pci_slot *slot) in intel_cache_ltr() argument
815 struct intel_host *intel_host = sdhci_pci_priv(slot); in intel_cache_ltr()
816 struct sdhci_host *host = slot->host; in intel_cache_ltr()
825 struct sdhci_pci_slot *slot = chip->slots[0]; in intel_ltr_set() local
826 struct intel_host *intel_host = sdhci_pci_priv(slot); in intel_ltr_set()
827 struct sdhci_host *host = slot->host; in intel_ltr_set()
863 intel_cache_ltr(slot); in intel_ltr_set()
906 static void byt_probe_slot(struct sdhci_pci_slot *slot) in byt_probe_slot() argument
908 struct mmc_host_ops *ops = &slot->host->mmc_host_ops; in byt_probe_slot()
909 struct device *dev = &slot->chip->pdev->dev; in byt_probe_slot()
910 struct mmc_host *mmc = slot->host->mmc; in byt_probe_slot()
912 byt_read_dsm(slot); in byt_probe_slot()
914 byt_ocp_setting(slot->chip->pdev); in byt_probe_slot()
922 slot->chip->slots[mmc->slotno] = slot; in byt_probe_slot()
923 intel_ltr_expose(slot->chip); in byt_probe_slot()
927 static void byt_add_debugfs(struct sdhci_pci_slot *slot) in byt_add_debugfs() argument
929 struct intel_host *intel_host = sdhci_pci_priv(slot); in byt_add_debugfs()
930 struct mmc_host *mmc = slot->host->mmc; in byt_add_debugfs()
933 if (!intel_use_ltr(slot->chip)) in byt_add_debugfs()
939 intel_cache_ltr(slot); in byt_add_debugfs()
942 static int byt_add_host(struct sdhci_pci_slot *slot) in byt_add_host() argument
944 int ret = sdhci_add_host(slot->host); in byt_add_host()
947 byt_add_debugfs(slot); in byt_add_host()
951 static void byt_remove_slot(struct sdhci_pci_slot *slot, int dead) in byt_remove_slot() argument
953 struct mmc_host *mmc = slot->host->mmc; in byt_remove_slot()
956 intel_ltr_hide(slot->chip); in byt_remove_slot()
959 static int byt_emmc_probe_slot(struct sdhci_pci_slot *slot) in byt_emmc_probe_slot() argument
961 byt_probe_slot(slot); in byt_emmc_probe_slot()
962 slot->host->mmc->caps |= MMC_CAP_8_BIT_DATA | MMC_CAP_NONREMOVABLE | in byt_emmc_probe_slot()
966 slot->hw_reset = sdhci_pci_int_hw_reset; in byt_emmc_probe_slot()
967 if (slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_BSW_EMMC) in byt_emmc_probe_slot()
968 slot->host->timeout_clk = 1000; /* 1000 kHz i.e. 1 MHz */ in byt_emmc_probe_slot()
969 slot->host->mmc_host_ops.select_drive_strength = in byt_emmc_probe_slot()
974 static bool glk_broken_cqhci(struct sdhci_pci_slot *slot) in glk_broken_cqhci() argument
976 return slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_GLK_EMMC && in glk_broken_cqhci()
981 static int glk_emmc_probe_slot(struct sdhci_pci_slot *slot) in glk_emmc_probe_slot() argument
983 int ret = byt_emmc_probe_slot(slot); in glk_emmc_probe_slot()
985 if (!glk_broken_cqhci(slot)) in glk_emmc_probe_slot()
986 slot->host->mmc->caps2 |= MMC_CAP2_CQE; in glk_emmc_probe_slot()
988 if (slot->chip->pdev->device != PCI_DEVICE_ID_INTEL_GLK_EMMC) { in glk_emmc_probe_slot()
989 slot->host->mmc->caps2 |= MMC_CAP2_HS400_ES; in glk_emmc_probe_slot()
990 slot->host->mmc_host_ops.hs400_enhanced_strobe = in glk_emmc_probe_slot()
992 slot->host->mmc->caps2 |= MMC_CAP2_CQE_DCMD; in glk_emmc_probe_slot()
1004 static int glk_emmc_add_host(struct sdhci_pci_slot *slot) in glk_emmc_add_host() argument
1006 struct device *dev = &slot->chip->pdev->dev; in glk_emmc_add_host()
1007 struct sdhci_host *host = slot->host; in glk_emmc_add_host()
1038 byt_add_debugfs(slot); in glk_emmc_add_host()
1055 struct sdhci_pci_slot *slot = chip->slots[0]; in glk_rpm_retune_wa() local
1056 struct intel_host *intel_host = sdhci_pci_priv(slot); in glk_rpm_retune_wa()
1057 struct sdhci_host *host = slot->host; in glk_rpm_retune_wa()
1119 static int ni_set_max_freq(struct sdhci_pci_slot *slot) in ni_set_max_freq() argument
1124 status = acpi_evaluate_integer(ACPI_HANDLE(&slot->chip->pdev->dev), in ni_set_max_freq()
1127 dev_err(&slot->chip->pdev->dev, in ni_set_max_freq()
1132 slot->host->mmc->f_max = max_freq * 1000000; in ni_set_max_freq()
1137 static inline int ni_set_max_freq(struct sdhci_pci_slot *slot) in ni_set_max_freq() argument
1143 static int ni_byt_sdio_probe_slot(struct sdhci_pci_slot *slot) in ni_byt_sdio_probe_slot() argument
1147 byt_probe_slot(slot); in ni_byt_sdio_probe_slot()
1149 err = ni_set_max_freq(slot); in ni_byt_sdio_probe_slot()
1153 slot->host->mmc->caps |= MMC_CAP_POWER_OFF_CARD | MMC_CAP_NONREMOVABLE | in ni_byt_sdio_probe_slot()
1158 static int byt_sdio_probe_slot(struct sdhci_pci_slot *slot) in byt_sdio_probe_slot() argument
1160 byt_probe_slot(slot); in byt_sdio_probe_slot()
1161 slot->host->mmc->caps |= MMC_CAP_POWER_OFF_CARD | MMC_CAP_NONREMOVABLE | in byt_sdio_probe_slot()
1166 static void byt_needs_pwr_off(struct sdhci_pci_slot *slot) in byt_needs_pwr_off() argument
1168 struct intel_host *intel_host = sdhci_pci_priv(slot); in byt_needs_pwr_off()
1169 u8 reg = sdhci_readb(slot->host, SDHCI_POWER_CONTROL); in byt_needs_pwr_off()
1174 static int byt_sd_probe_slot(struct sdhci_pci_slot *slot) in byt_sd_probe_slot() argument
1176 byt_probe_slot(slot); in byt_sd_probe_slot()
1177 slot->host->mmc->caps |= MMC_CAP_WAIT_WHILE_BUSY | in byt_sd_probe_slot()
1179 slot->cd_idx = 0; in byt_sd_probe_slot()
1180 slot->cd_override_level = true; in byt_sd_probe_slot()
1181 if (slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_BXT_SD || in byt_sd_probe_slot()
1182 slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_BXTM_SD || in byt_sd_probe_slot()
1183 slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_APL_SD || in byt_sd_probe_slot()
1184 slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_GLK_SD) in byt_sd_probe_slot()
1185 slot->host->mmc_host_ops.get_cd = bxt_get_cd; in byt_sd_probe_slot()
1187 if (slot->chip->pdev->subsystem_vendor == PCI_VENDOR_ID_NI && in byt_sd_probe_slot()
1188 slot->chip->pdev->subsystem_device == PCI_SUBDEVICE_ID_NI_78E3) in byt_sd_probe_slot()
1189 slot->host->mmc->caps2 |= MMC_CAP2_AVOID_3_3V; in byt_sd_probe_slot()
1191 byt_needs_pwr_off(slot); in byt_sd_probe_slot()
1326 static void intel_mrfld_mmc_fix_up_power_slot(struct sdhci_pci_slot *slot) in intel_mrfld_mmc_fix_up_power_slot() argument
1330 device = ACPI_COMPANION(&slot->chip->pdev->dev); in intel_mrfld_mmc_fix_up_power_slot()
1340 static inline void intel_mrfld_mmc_fix_up_power_slot(struct sdhci_pci_slot *slot) {} in intel_mrfld_mmc_fix_up_power_slot() argument
1343 static int intel_mrfld_mmc_probe_slot(struct sdhci_pci_slot *slot) in intel_mrfld_mmc_probe_slot() argument
1345 unsigned int func = PCI_FUNC(slot->chip->pdev->devfn); in intel_mrfld_mmc_probe_slot()
1350 slot->host->mmc->caps |= MMC_CAP_NONREMOVABLE | in intel_mrfld_mmc_probe_slot()
1355 slot->cd_idx = 0; in intel_mrfld_mmc_probe_slot()
1356 slot->cd_override_level = true; in intel_mrfld_mmc_probe_slot()
1358 * There are two PCB designs of SD card slot with the opposite in intel_mrfld_mmc_probe_slot()
1362 slot->host->mmc_host_ops.get_cd = mrfld_get_cd; in intel_mrfld_mmc_probe_slot()
1363 slot->host->quirks2 |= SDHCI_QUIRK2_NO_1_8_V; in intel_mrfld_mmc_probe_slot()
1367 slot->host->ocr_mask = MMC_VDD_20_21 | MMC_VDD_165_195; in intel_mrfld_mmc_probe_slot()
1368 slot->host->mmc->caps |= MMC_CAP_NONREMOVABLE | in intel_mrfld_mmc_probe_slot()
1375 intel_mrfld_mmc_fix_up_power_slot(slot); in intel_mrfld_mmc_probe_slot()
1490 static int jmicron_probe_slot(struct sdhci_pci_slot *slot) in jmicron_probe_slot() argument
1492 if (slot->chip->pdev->revision == 0) { in jmicron_probe_slot()
1495 version = readl(slot->host->ioaddr + SDHCI_HOST_VERSION); in jmicron_probe_slot()
1505 slot->host->quirks |= SDHCI_QUIRK_BROKEN_ADMA; in jmicron_probe_slot()
1509 if (slot->chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB388_ESD) { in jmicron_probe_slot()
1510 slot->host->ocr_avail_sd = MMC_VDD_32_33 | MMC_VDD_33_34 | in jmicron_probe_slot()
1513 slot->host->ocr_avail_mmc = MMC_VDD_32_33 | MMC_VDD_33_34 | in jmicron_probe_slot()
1521 if (slot->chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB38X_MMC || in jmicron_probe_slot()
1522 slot->chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB388_ESD) in jmicron_probe_slot()
1523 jmicron_enable_mmc(slot->host, 1); in jmicron_probe_slot()
1525 slot->host->mmc->caps |= MMC_CAP_BUS_WIDTH_TEST; in jmicron_probe_slot()
1530 static void jmicron_remove_slot(struct sdhci_pci_slot *slot, int dead) in jmicron_remove_slot() argument
1535 if (slot->chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB38X_MMC || in jmicron_remove_slot()
1536 slot->chip->pdev->device == PCI_DEVICE_ID_JMICRON_JMB388_ESD) in jmicron_remove_slot()
1537 jmicron_enable_mmc(slot->host, 0); in jmicron_remove_slot()
1618 static int syskt_probe_slot(struct sdhci_pci_slot *slot) in syskt_probe_slot() argument
1622 u8 board_rev = readb(slot->host->ioaddr + SYSKT_BOARD_REV); in syskt_probe_slot()
1623 u8 chip_rev = readb(slot->host->ioaddr + SYSKT_CHIP_REV); in syskt_probe_slot()
1624 dev_info(&slot->chip->pdev->dev, "SysKonnect CardBus2SDIO, " in syskt_probe_slot()
1629 slot->host->quirks |= SDHCI_QUIRK_FORCE_DMA; in syskt_probe_slot()
1631 writeb(SYSKT_POWER_330, slot->host->ioaddr + SYSKT_POWER_DATA); in syskt_probe_slot()
1632 writeb(SYSKT_POWER_START, slot->host->ioaddr + SYSKT_POWER_CMD); in syskt_probe_slot()
1636 ps = readw(slot->host->ioaddr + SYSKT_POWER_STATUS); in syskt_probe_slot()
1642 dev_err(&slot->chip->pdev->dev, in syskt_probe_slot()
1644 writeb(0, slot->host->ioaddr + SYSKT_POWER_CMD); in syskt_probe_slot()
1669 static int rtsx_probe_slot(struct sdhci_pci_slot *slot) in rtsx_probe_slot() argument
1671 slot->host->mmc->caps2 |= MMC_CAP2_HS200; in rtsx_probe_slot()
1733 struct sdhci_pci_slot *slot = sdhci_priv(host); in amd_execute_tuning_hs200() local
1734 struct pci_dev *pdev = slot->chip->pdev; in amd_execute_tuning_hs200()
1782 static int amd_probe_slot(struct sdhci_pci_slot *slot) in amd_probe_slot() argument
1784 struct mmc_host_ops *ops = &slot->host->mmc_host_ops; in amd_probe_slot()
1826 struct sdhci_pci_slot *slot = sdhci_priv(host); in amd_sdhci_reset() local
1827 struct pci_dev *pdev = slot->chip->pdev; in amd_sdhci_reset()
1985 struct sdhci_pci_slot *slot; in sdhci_pci_enable_dma() local
1988 slot = sdhci_priv(host); in sdhci_pci_enable_dma()
1989 pdev = slot->chip->pdev; in sdhci_pci_enable_dma()
2005 struct sdhci_pci_slot *slot = sdhci_priv(host); in sdhci_pci_gpio_hw_reset() local
2006 int rst_n_gpio = slot->rst_n_gpio; in sdhci_pci_gpio_hw_reset()
2020 struct sdhci_pci_slot *slot = sdhci_priv(host); in sdhci_pci_hw_reset() local
2022 if (slot->hw_reset) in sdhci_pci_hw_reset()
2023 slot->hw_reset(host); in sdhci_pci_hw_reset()
2113 struct sdhci_pci_slot *slot; in sdhci_pci_probe_slot() local
2138 host = sdhci_alloc_host(&pdev->dev, sizeof(*slot) + priv_size); in sdhci_pci_probe_slot()
2144 slot = sdhci_priv(host); in sdhci_pci_probe_slot()
2146 slot->chip = chip; in sdhci_pci_probe_slot()
2147 slot->host = host; in sdhci_pci_probe_slot()
2148 slot->rst_n_gpio = -EINVAL; in sdhci_pci_probe_slot()
2149 slot->cd_gpio = -EINVAL; in sdhci_pci_probe_slot()
2150 slot->cd_idx = -1; in sdhci_pci_probe_slot()
2154 slot->data = sdhci_pci_get_data(pdev, slotno); in sdhci_pci_probe_slot()
2156 if (slot->data) { in sdhci_pci_probe_slot()
2157 if (slot->data->setup) { in sdhci_pci_probe_slot()
2158 ret = slot->data->setup(slot->data); in sdhci_pci_probe_slot()
2164 slot->rst_n_gpio = slot->data->rst_n_gpio; in sdhci_pci_probe_slot()
2165 slot->cd_gpio = slot->data->cd_gpio; in sdhci_pci_probe_slot()
2186 ret = chip->fixes->probe_slot(slot); in sdhci_pci_probe_slot()
2191 if (gpio_is_valid(slot->rst_n_gpio)) { in sdhci_pci_probe_slot()
2192 if (!devm_gpio_request(&pdev->dev, slot->rst_n_gpio, "eMMC_reset")) { in sdhci_pci_probe_slot()
2193 gpio_direction_output(slot->rst_n_gpio, 1); in sdhci_pci_probe_slot()
2194 slot->host->mmc->caps |= MMC_CAP_HW_RESET; in sdhci_pci_probe_slot()
2195 slot->hw_reset = sdhci_pci_gpio_hw_reset; in sdhci_pci_probe_slot()
2198 slot->rst_n_gpio = -EINVAL; in sdhci_pci_probe_slot()
2212 if (slot->cd_idx >= 0) { in sdhci_pci_probe_slot()
2213 ret = mmc_gpiod_request_cd(host->mmc, "cd", slot->cd_idx, in sdhci_pci_probe_slot()
2214 slot->cd_override_level, 0); in sdhci_pci_probe_slot()
2217 slot->cd_idx, in sdhci_pci_probe_slot()
2218 slot->cd_override_level, in sdhci_pci_probe_slot()
2225 slot->cd_idx = -1; in sdhci_pci_probe_slot()
2230 ret = chip->fixes->add_host(slot); in sdhci_pci_probe_slot()
2236 sdhci_pci_add_own_cd(slot); in sdhci_pci_probe_slot()
2241 * Note sdhci_pci_add_own_cd() sets slot->cd_gpio to -EINVAL on failure. in sdhci_pci_probe_slot()
2244 !gpio_is_valid(slot->cd_gpio) && slot->cd_idx < 0) in sdhci_pci_probe_slot()
2247 return slot; in sdhci_pci_probe_slot()
2251 chip->fixes->remove_slot(slot, 0); in sdhci_pci_probe_slot()
2254 if (slot->data && slot->data->cleanup) in sdhci_pci_probe_slot()
2255 slot->data->cleanup(slot->data); in sdhci_pci_probe_slot()
2263 static void sdhci_pci_remove_slot(struct sdhci_pci_slot *slot) in sdhci_pci_remove_slot() argument
2268 sdhci_pci_remove_own_cd(slot); in sdhci_pci_remove_slot()
2271 scratch = readl(slot->host->ioaddr + SDHCI_INT_STATUS); in sdhci_pci_remove_slot()
2275 sdhci_remove_host(slot->host, dead); in sdhci_pci_remove_slot()
2277 if (slot->chip->fixes && slot->chip->fixes->remove_slot) in sdhci_pci_remove_slot()
2278 slot->chip->fixes->remove_slot(slot, dead); in sdhci_pci_remove_slot()
2280 if (slot->data && slot->data->cleanup) in sdhci_pci_remove_slot()
2281 slot->data->cleanup(slot->data); in sdhci_pci_remove_slot()
2283 sdhci_free_host(slot->host); in sdhci_pci_remove_slot()
2306 struct sdhci_pci_slot *slot; in sdhci_pci_probe() local
2322 dev_dbg(&pdev->dev, "found %d slot(s)\n", slots); in sdhci_pci_probe()
2367 slot = sdhci_pci_probe_slot(pdev, chip, first_bar, i); in sdhci_pci_probe()
2368 if (IS_ERR(slot)) { in sdhci_pci_probe()
2371 return PTR_ERR(slot); in sdhci_pci_probe()
2374 chip->slots[i] = slot; in sdhci_pci_probe()