2009-11-23 18:02:35

by Hartley Sweeten

[permalink] [raw]
Subject: drivers/dma/mv_xor.c: use resource_size()

Use resource_size() for devm_ioremap.

Signed-off-by: H Hartley Sweeten <[email protected]>

---

diff --git a/drivers/dma/mv_xor.c b/drivers/dma/mv_xor.c
index 466ab10..ec280ff 100644
--- a/drivers/dma/mv_xor.c
+++ b/drivers/dma/mv_xor.c
@@ -1311,7 +1311,7 @@ static int mv_xor_shared_probe(struct platform_device *pdev)
return -ENODEV;

msp->xor_base = devm_ioremap(&pdev->dev, res->start,
- res->end - res->start + 1);
+ resource_size(res));
if (!msp->xor_base)
return -EBUSY;

@@ -1320,7 +1320,7 @@ static int mv_xor_shared_probe(struct platform_device *pdev)
return -ENODEV;

msp->xor_high_base = devm_ioremap(&pdev->dev, res->start,
- res->end - res->start + 1);
+ resource_size(res));
if (!msp->xor_high_base)
return -EBUSY;


2009-11-23 21:40:28

by Ingo Oeser

[permalink] [raw]
Subject: Re: drivers/dma/mv_xor.c: use resource_size()

Hi,

On Monday 23 November 2009, H Hartley Sweeten wrote:
> Use resource_size() for devm_ioremap.

This pattern foo = do_with_res(res->start, resource_size(res)) seem to happen quite often.
What about creating inline functions like

foo = do_with_full_res(res)

?

That would save some code and make it obviously correct.

Best Regards

Ingo Oeser

2009-11-23 22:03:58

by Hartley Sweeten

[permalink] [raw]
Subject: RE: drivers/dma/mv_xor.c: use resource_size()

On Monday, November 23, 2009 2:35 PM, Ingo Oeser wrote:
> On Monday 23 November 2009, H Hartley Sweeten wrote:
>> Use resource_size() for devm_ioremap.
>
> This pattern foo = do_with_res(res->start, resource_size(res)) seem to happen quite often.
> What about creating inline functions like
>
> foo = do_with_full_res(res)
>
> ?
>
> That would save some code and make it obviously correct.
>

I thought about that also. Just not sure what header(s) they would go in.

The most obvious ones I can see are:


static inline struct resource * request_mem_resource(struct resource *res, const char *name)
{
return request_mem_region(res->start, resource_size(res), name);
}

static void release_mem_resource(struct resource *res)
{
release_mem_region(res->start, resource_size(res));
}

static void __iomem * ioremap_resource(struct resource *res)
{
return ioremap(res->start, resource_size(res));
}


There are probably others (devm_request_region, etc.).

They could also be #define macros. Not sure which is better.

Regards,
Hartley

2009-11-24 00:30:05

by Dan Williams

[permalink] [raw]
Subject: Re: drivers/dma/mv_xor.c: use resource_size()

On Mon, Nov 23, 2009 at 11:02 AM, H Hartley Sweeten
<[email protected]> wrote:
> Use resource_size() for devm_ioremap.
>
> Signed-off-by: H Hartley Sweeten <[email protected]>
>
> ---

Hi,

I just happened to see this. Please cc me on any patches that touch
drivers/dma/. In general scripts/get_maintainer.pl is your friend.

Thanks,
Dan