diff mbox

mmc: davinci: allow driver to work without DMA resource

Message ID 1359620433-3546-1-git-send-email-prakash.pm@ti.com (mailing list archive)
State Not Applicable
Headers show

Commit Message

Manjunathappa, Prakash Jan. 31, 2013, 8:20 a.m. UTC
Do not return probe failure with missing DMA resources,
allow driver to work in PIO mode.
Tested on da850-evm.

Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
---
 drivers/mmc/host/davinci_mmc.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

Comments

Sekhar Nori Feb. 1, 2013, 6:57 a.m. UTC | #1
On 1/31/2013 1:50 PM, Manjunathappa, Prakash wrote:
> Do not return probe failure with missing DMA resources,
> allow driver to work in PIO mode.
> Tested on da850-evm.

It will be nice to mention what exactly was tested. rootfs mount? file
create/deletion? mount/unmount?

> Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
> ---
>  drivers/mmc/host/davinci_mmc.c |   10 ++++++----
>  1 files changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/mmc/host/davinci_mmc.c b/drivers/mmc/host/davinci_mmc.c
> index 2063677..382b79d 100644
> --- a/drivers/mmc/host/davinci_mmc.c
> +++ b/drivers/mmc/host/davinci_mmc.c
> @@ -1190,13 +1190,15 @@ static int __init davinci_mmcsd_probe(struct platform_device *pdev)
>  
>  	r = platform_get_resource(pdev, IORESOURCE_DMA, 0);
>  	if (!r)
> -		goto out;
> -	host->rxdma = r->start;
> +		dev_warn(&pdev->dev, "DMA resource not specified\n");

Why not be specific and call it "RX DMA" instead. Anyone who gets this
error will have to do that anyway since you have now got two identical
error messages.

> +	else
> +		host->rxdma = r->start;
>  
>  	r = platform_get_resource(pdev, IORESOURCE_DMA, 1);
>  	if (!r)
> -		goto out;
> -	host->txdma = r->start;
> +		dev_warn(&pdev->dev, "DMA resource not specified\n");

"TX DMA" here.

Thanks,
Sekhar
Manjunathappa, Prakash Feb. 4, 2013, 1:27 p.m. UTC | #2
Hi Sekhar,

On Fri, Feb 01, 2013 at 12:27:04, Nori, Sekhar wrote:
> On 1/31/2013 1:50 PM, Manjunathappa, Prakash wrote:
> > Do not return probe failure with missing DMA resources,
> > allow driver to work in PIO mode.
> > Tested on da850-evm.
> 
> It will be nice to mention what exactly was tested. rootfs mount? file
> create/deletion? mount/unmount?
> 

Agreed, will add testing information.

> > Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
> > ---
> >  drivers/mmc/host/davinci_mmc.c |   10 ++++++----
> >  1 files changed, 6 insertions(+), 4 deletions(-)
> > 
> > diff --git a/drivers/mmc/host/davinci_mmc.c b/drivers/mmc/host/davinci_mmc.c
> > index 2063677..382b79d 100644
> > --- a/drivers/mmc/host/davinci_mmc.c
> > +++ b/drivers/mmc/host/davinci_mmc.c
> > @@ -1190,13 +1190,15 @@ static int __init davinci_mmcsd_probe(struct platform_device *pdev)
> >  
> >  	r = platform_get_resource(pdev, IORESOURCE_DMA, 0);
> >  	if (!r)
> > -		goto out;
> > -	host->rxdma = r->start;
> > +		dev_warn(&pdev->dev, "DMA resource not specified\n");
> 
> Why not be specific and call it "RX DMA" instead. Anyone who gets this
> error will have to do that anyway since you have now got two identical
> error messages.
> 

Agree, I will specify.

> > +	else
> > +		host->rxdma = r->start;
> >  
> >  	r = platform_get_resource(pdev, IORESOURCE_DMA, 1);
> >  	if (!r)
> > -		goto out;
> > -	host->txdma = r->start;
> > +		dev_warn(&pdev->dev, "DMA resource not specified\n");
> 
> "TX DMA" here.
> 

Agree to fix here also.

Thanks,
Prakash

> Thanks,
> Sekhar
>
diff mbox

Patch

diff --git a/drivers/mmc/host/davinci_mmc.c b/drivers/mmc/host/davinci_mmc.c
index 2063677..382b79d 100644
--- a/drivers/mmc/host/davinci_mmc.c
+++ b/drivers/mmc/host/davinci_mmc.c
@@ -1190,13 +1190,15 @@  static int __init davinci_mmcsd_probe(struct platform_device *pdev)
 
 	r = platform_get_resource(pdev, IORESOURCE_DMA, 0);
 	if (!r)
-		goto out;
-	host->rxdma = r->start;
+		dev_warn(&pdev->dev, "DMA resource not specified\n");
+	else
+		host->rxdma = r->start;
 
 	r = platform_get_resource(pdev, IORESOURCE_DMA, 1);
 	if (!r)
-		goto out;
-	host->txdma = r->start;
+		dev_warn(&pdev->dev, "DMA resource not specified\n");
+	else
+		host->txdma = r->start;
 
 	host->mem_res = mem;
 	host->base = ioremap(mem->start, mem_size);