mmc: sdhci-pci-o2micro: Bug fix for O2 host controller Seabird1
authorshirley her <shirley.her@bayhubtech.com>
Tue, 21 Jul 2020 01:17:33 +0000 (18:17 -0700)
committerUlf Hansson <ulf.hansson@linaro.org>
Fri, 24 Jul 2020 10:30:36 +0000 (12:30 +0200)
To fix support for the O2 host controller Seabird1, set the quirk
SDHCI_QUIRK2_PRESET_VALUE_BROKEN and the capability bit MMC_CAP2_NO_SDIO.
Moreover, assign the ->get_cd() callback.

Signed-off-by: Shirley Her <shirley.her@bayhubtech.com>
Link: https://lore.kernel.org/r/20200721011733.8416-1-shirley.her@bayhubtech.com
[Ulf: Updated the commit message]
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sdhci-pci-o2micro.c

index e2a8468..ed3c605 100644 (file)
@@ -561,6 +561,12 @@ static int sdhci_pci_o2_probe_slot(struct sdhci_pci_slot *slot)
                        slot->host->mmc_host_ops.get_cd = sdhci_o2_get_cd;
                }
 
+               if (chip->pdev->device == PCI_DEVICE_ID_O2_SEABIRD1) {
+                       slot->host->mmc_host_ops.get_cd = sdhci_o2_get_cd;
+                       host->mmc->caps2 |= MMC_CAP2_NO_SDIO;
+                       host->quirks2 |= SDHCI_QUIRK2_PRESET_VALUE_BROKEN;
+               }
+
                host->mmc_host_ops.execute_tuning = sdhci_o2_execute_tuning;
 
                if (chip->pdev->device != PCI_DEVICE_ID_O2_FUJIN2)