On Wed, Mar 06, 2013 at 07:12:29PM +0530, Balaji T K wrote: > On Wednesday 06 March 2013 02:43 AM, Matt Porter wrote: > >From: Santosh Shilimkar <santosh.shilimkar@xxxxxx> > > > >MMC driver probe will abort for DT case because of failed > >platform_get_resource_byname() lookup. Fix it by skipping resource > >byname lookup for device tree build. > > > >Issue is hidden because hwmod popullates the IO resources which > >helps to succeed platform_get_resource_byname() and probe. > > > > Hi Matt, > Could you please drop this patch from the current series, > since this patch causes regression on omap3,4 platform > which are not yet dma dt adapted. > It is best to send this patch along with Jon Hunter dma dt series, > which adds dt dma support and mmc dma data. DMA dt series is needed > any way before hwmod cleanup can happen. *sigh* ok, I should have never split this stuff out from the am33xx series. Will do. -Matt > >Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> > >--- > > drivers/mmc/host/omap_hsmmc.c | 28 +++++++++++++++------------- > > 1 file changed, 15 insertions(+), 13 deletions(-) > > > >diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c > >index e79b12d..8ae1225 100644 > >--- a/drivers/mmc/host/omap_hsmmc.c > >+++ b/drivers/mmc/host/omap_hsmmc.c > >@@ -1896,21 +1896,23 @@ static int omap_hsmmc_probe(struct platform_device *pdev) > > > > omap_hsmmc_conf_bus_power(host); > > > >- res = platform_get_resource_byname(pdev, IORESOURCE_DMA, "tx"); > >- if (!res) { > >- dev_err(mmc_dev(host->mmc), "cannot get DMA TX channel\n"); > >- ret = -ENXIO; > >- goto err_irq; > >- } > >- tx_req = res->start; > >+ if (!pdev->dev.of_node) { > >+ res = platform_get_resource_byname(pdev, IORESOURCE_DMA, "tx"); > >+ if (!res) { > >+ dev_err(mmc_dev(host->mmc), "cannot get DMA TX channel\n"); > >+ ret = -ENXIO; > >+ goto err_irq; > >+ } > >+ tx_req = res->start; > > > >- res = platform_get_resource_byname(pdev, IORESOURCE_DMA, "rx"); > >- if (!res) { > >- dev_err(mmc_dev(host->mmc), "cannot get DMA RX channel\n"); > >- ret = -ENXIO; > >- goto err_irq; > >+ res = platform_get_resource_byname(pdev, IORESOURCE_DMA, "rx"); > >+ if (!res) { > >+ dev_err(mmc_dev(host->mmc), "cannot get DMA RX channel\n"); > >+ ret = -ENXIO; > >+ goto err_irq; > >+ } > >+ rx_req = res->start; > > } > >- rx_req = res->start; > > > > dma_cap_zero(mask); > > dma_cap_set(DMA_SLAVE, mask); > > > > _______________________________________________ > devicetree-discuss mailing list > devicetree-discuss@xxxxxxxxxxxxxxxx > https://lists.ozlabs.org/listinfo/devicetree-discuss -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html