Re: [PATCH v2] mmc: davinci: Fix and simplify probe failure path

From: Ulf Hansson
Date: Fri Oct 31 2014 - 05:35:28 EST


On 30 October 2014 12:45, Pramod Gurav <pramod.gurav.etc@xxxxxxxxx> wrote:
> Thanks Ulf,
>
> On Thu, Oct 30, 2014 at 4:38 PM, Ulf Hansson <ulf.hansson@xxxxxxxxxx> wrote:
>> On 30 October 2014 08:46, Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> wrote:
>>> The sequence of resource release in probe failure path in this
>>> driver was wrong and needed fixes to cleanly unload the driver.
>>> This changes does the same by switching to managed resources and
>>> fixes return path to release resource in proper sequence.
>>>
>>> Cc: Chris Ball <chris@xxxxxxxxxx>
>>> Cc: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
>>> Cc: linux-mmc@xxxxxxxxxxxxxxx
>>
>> Please remove these Ccs above from the commit message. It's not needed
>> when you anyway need to send the patches directly to these addresses.
> Will remove Cc.
>
>>
>>> Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx>
>>> ---
> ..
>
>>>
>>> host = mmc_priv(mmc);
>>> host->mmc = mmc; /* Important */
>>> @@ -1275,15 +1273,16 @@ static int __init davinci_mmcsd_probe(struct platform_device *pdev)
>>> host->txdma = r->start;
>>>
>>> host->mem_res = mem;
>>> - host->base = ioremap(mem->start, mem_size);
>>> - if (!host->base)
>>> - goto out;
>>> + host->base = devm_ioremap(&pdev->dev, mem->start, mem_size);
>>
>> I realized that you should use devm_ioremap_resource() instead. That
>> would simplify the code even more.
>>
> Yes, we could have used devm_ioremap_resource() but this driver stores
> the return from devm_request_mem_region() in host->mem_res and uses
> the same in the other part of drivers. Is there a way to work this
> around?

Isn't that the same value as "mem->start" ?

Kind regards
Uffe
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/