浏览代码

mmc: sdhci-pci: Let devices define how to add the host

SDHCI provides more flexibility than simply calling sdhci_add_host(). Make
that available by allowing devices to specify their own ->add_host()
function.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Tested-by: Ludovic Desroches <ludovic.desroches@microchip.com>
Adrian Hunter 8 年之前
父节点
当前提交
61c951dedc
共有 2 个文件被更改,包括 5 次插入1 次删除
  1. 4 1
      drivers/mmc/host/sdhci-pci-core.c
  2. 1 0
      drivers/mmc/host/sdhci-pci.h

+ 4 - 1
drivers/mmc/host/sdhci-pci-core.c

@@ -1949,7 +1949,10 @@ static struct sdhci_pci_slot *sdhci_pci_probe_slot(
 		}
 	}
 
-	ret = sdhci_add_host(host);
+	if (chip->fixes && chip->fixes->add_host)
+		ret = chip->fixes->add_host(slot);
+	else
+		ret = sdhci_add_host(host);
 	if (ret)
 		goto remove;
 

+ 1 - 0
drivers/mmc/host/sdhci-pci.h

@@ -64,6 +64,7 @@ struct sdhci_pci_fixes {
 	int			(*probe) (struct sdhci_pci_chip *);
 
 	int			(*probe_slot) (struct sdhci_pci_slot *);
+	int			(*add_host) (struct sdhci_pci_slot *);
 	void			(*remove_slot) (struct sdhci_pci_slot *, int);
 
 	int			(*suspend) (struct sdhci_pci_chip *);