Thread (9 messages) 9 messages, 3 authors, 2014-08-12

Re: [PATCH 3/5 v2] mmc: sdhci-pltfm: Do not use parent as the host's device

From: Ulf Hansson <hidden>
Date: 2014-08-12 11:51:37
Also in: linux-mmc, lkml

On 12 August 2014 12:37, Pawel Moll [off-list ref] wrote:
The code selecting a device for the sdhci host has been
continuously tweaked (4b711cb13843f5082e82970dd1e8031383134a65
"mmc: sdhci-pltfm: Add structure for host-specific data" and
a4d2177f00a5252d825236c5124bc1e9918bdb41 "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 <redacted>
Thanks! Queued for 3.18.

Kind regards
Uffe
quoted hunk ↗ jump to hunk
---
 drivers/mmc/host/sdhci-pltfm.c | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/drivers/mmc/host/sdhci-pltfm.c b/drivers/mmc/host/sdhci-pltfm.c
index 7e834fb..c5b01d6 100644
--- a/drivers/mmc/host/sdhci-pltfm.c
+++ b/drivers/mmc/host/sdhci-pltfm.c
@@ -123,7 +123,6 @@ struct sdhci_host *sdhci_pltfm_init(struct platform_device *pdev,
                                    size_t priv_size)
 {
        struct sdhci_host *host;
-       struct device_node *np = pdev->dev.of_node;
        struct resource *iomem;
        int ret;
@@ -136,13 +135,8 @@ struct sdhci_host *sdhci_pltfm_init(struct platform_device *pdev,
        if (resource_size(iomem) < 0x100)
                dev_err(&pdev->dev, "Invalid iomem size!\n");

-       /* Some PCI-based MFD need the parent here */
-       if (pdev->dev.parent != &platform_bus && !np)
-               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);
+       host = sdhci_alloc_host(&pdev->dev,
+               sizeof(struct sdhci_pltfm_host) + priv_size);

        if (IS_ERR(host)) {
                ret = PTR_ERR(host);
--
1.9.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help