mmc: sdhci-pltfm: Do not use parent as the host's device

The code selecting a device for the sdhci host has been
continuously tweaked (4b711cb138
"mmc: sdhci-pltfm: Add structure for host-specific data" and
a4d2177f00 "mmc: sdhci-pltfm: dt
device does not pass parent to sdhci_alloc_host" while there
does not seem to be any reason to use platform device's parent
in the first place.

The comment saying "Some PCI-based MFD need the parent here"
seem to refer to Timberdale FPGA driver (the only MFD driver
registering SDHCI cell, drivers/mfd/timberdale.c) but again,
the only situation when parent device matter is runtime PM,
which is not implemented for Timberdale.

Signed-off-by: Pawel Moll <pawel.moll@arm.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
Pawel Moll 2014-08-12 11:37:52 +01:00 committed by Ulf Hansson
parent ca6429d495
commit 45c19e2a81

View File

@ -123,7 +123,6 @@ struct sdhci_host *sdhci_pltfm_init(struct platform_device *pdev,
size_t priv_size) size_t priv_size)
{ {
struct sdhci_host *host; struct sdhci_host *host;
struct device_node *np = pdev->dev.of_node;
struct resource *iomem; struct resource *iomem;
int ret; int ret;
@ -136,13 +135,8 @@ struct sdhci_host *sdhci_pltfm_init(struct platform_device *pdev,
if (resource_size(iomem) < 0x100) if (resource_size(iomem) < 0x100)
dev_err(&pdev->dev, "Invalid iomem size!\n"); dev_err(&pdev->dev, "Invalid iomem size!\n");
/* Some PCI-based MFD need the parent here */ host = sdhci_alloc_host(&pdev->dev,
if (pdev->dev.parent != &platform_bus && !np) sizeof(struct sdhci_pltfm_host) + priv_size);
host = sdhci_alloc_host(pdev->dev.parent,
sizeof(struct sdhci_pltfm_host) + priv_size);
else
host = sdhci_alloc_host(&pdev->dev,
sizeof(struct sdhci_pltfm_host) + priv_size);
if (IS_ERR(host)) { if (IS_ERR(host)) {
ret = PTR_ERR(host); ret = PTR_ERR(host);