lkml.org 
[lkml]   [2012]   [Aug]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] of: add devres version of of_iomap
On 08/30/2012 05:09 PM, Karicheri, Muralidharan wrote:
>>> -----Original Message-----
>>> From: Rob Herring [mailto:robherring2@gmail.com]
>>> Sent: Thursday, August 30, 2012 2:27 PM
>>> To: Karicheri, Muralidharan
>>> Cc: grant.likely@secretlab.ca; devicetree-discuss@lists.ozlabs.org; linux-
>>> kernel@vger.kernel.org
>>> Subject: Re: [PATCH] of: add devres version of of_iomap
>>>
>>> On 08/30/2012 10:32 AM, Murali Karicheri wrote:
>>>> This adds devres version of the of_iomap() to allow resource to be cleaned
>>>> through devres.
>>>
>>> If you have a struct device, then don't you already have a resource and
>>> can just use devm_ioremap in a driver? New drivers should not be using
>>> of_iomap.
>>>
>
> That is the point. If you do a grep under driver, there are many drivers using the pattern
> like this. This helper function is mean to replace this code.
>
> From dma/sirf-dma.c
>
> ret = of_address_to_resource(dn, 0, &res);
> if (ret) {
> dev_err(dev, "Error parsing memory region!\n");
> goto error;
> }
>
> regs_start = res.start;
> regs_size = resource_size(&res);
>
> base = devm_ioremap(dev, regs_start, regs_size);
> if (!base) {
> dev_err(dev, "Error mapping memory region!\n");
> goto error;
> }
>

That's wrong and should be fixed. The resource is already setup and
available to the probe function.

> Other instances.
>
> edac/mpc85xx_edac.c
> media/video/fsl-viu.c
> mtd/nand/mpc5121_nfc.c

All PPC drivers that used the old of_platform_driver and also need to be
updated.

>
> Some of these code uses devm_request_mem_region() as well. Isn't a good idea to add this helper
> that can be called by new drivers to replace this sequence? I could update the patch to do this call
> as well?

devm_request_and_ioremap

Rob



\
 
 \ /
  Last update: 2012-08-31 05:21    [W:1.127 / U:1.252 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site