| From 9d218abdb7925e8d184beea77b6da269e59ce3d4 Mon Sep 17 00:00:00 2001 |
| From: Julia Lawall <Julia.Lawall@lip6.fr> |
| Date: Wed, 14 Aug 2013 11:11:25 +0200 |
| Subject: pwm: simplify use of devm_ioremap_resource |
| |
| Remove unneeded error handling on the result of a call to |
| platform_get_resource when the value is passed to devm_ioremap_resource. |
| |
| Move the call to platform_get_resource adjacent to the call to |
| devm_ioremap_resource to make the connection between them more clear. |
| |
| A simplified version of the semantic patch that makes this change is as |
| follows: (http://coccinelle.lip6.fr/) |
| |
| // <smpl> |
| @@ |
| expression pdev,res,n,e,e1; |
| expression ret != 0; |
| identifier l; |
| @@ |
| |
| - res = platform_get_resource(pdev, IORESOURCE_MEM, n); |
| ... when != res |
| - if (res == NULL) { ... \(goto l;\|return ret;\) } |
| ... when != res |
| + res = platform_get_resource(pdev, IORESOURCE_MEM, n); |
| e = devm_ioremap_resource(e1, res); |
| // </smpl> |
| |
| Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> |
| Acked-by: Viresh Kumar <viresh.kumar@linaro.org> |
| Signed-off-by: Thierry Reding <thierry.reding@gmail.com> |
| (cherry picked from commit 88d5a2e6ffaa32e2a09a994872ca10aca07a36e9) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| drivers/pwm/pwm-lpc32xx.c | 3 --- |
| drivers/pwm/pwm-renesas-tpu.c | 5 ----- |
| drivers/pwm/pwm-spear.c | 7 +------ |
| 3 files changed, 1 insertion(+), 14 deletions(-) |
| |
| diff --git a/drivers/pwm/pwm-lpc32xx.c b/drivers/pwm/pwm-lpc32xx.c |
| index 8272883c..7f469d26 100644 |
| --- a/drivers/pwm/pwm-lpc32xx.c |
| +++ b/drivers/pwm/pwm-lpc32xx.c |
| @@ -124,9 +124,6 @@ static int lpc32xx_pwm_probe(struct platform_device *pdev) |
| return -ENOMEM; |
| |
| res = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
| - if (!res) |
| - return -EINVAL; |
| - |
| lpc32xx->base = devm_ioremap_resource(&pdev->dev, res); |
| if (IS_ERR(lpc32xx->base)) |
| return PTR_ERR(lpc32xx->base); |
| diff --git a/drivers/pwm/pwm-renesas-tpu.c b/drivers/pwm/pwm-renesas-tpu.c |
| index 3eeffff6..aff6ba9b 100644 |
| --- a/drivers/pwm/pwm-renesas-tpu.c |
| +++ b/drivers/pwm/pwm-renesas-tpu.c |
| @@ -418,11 +418,6 @@ static int tpu_probe(struct platform_device *pdev) |
| |
| /* Map memory, get clock and pin control. */ |
| res = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
| - if (!res) { |
| - dev_err(&pdev->dev, "failed to get I/O memory\n"); |
| - return -ENXIO; |
| - } |
| - |
| tpu->base = devm_ioremap_resource(&pdev->dev, res); |
| if (IS_ERR(tpu->base)) |
| return PTR_ERR(tpu->base); |
| diff --git a/drivers/pwm/pwm-spear.c b/drivers/pwm/pwm-spear.c |
| index 6d99e2cb..8af6ea8f 100644 |
| --- a/drivers/pwm/pwm-spear.c |
| +++ b/drivers/pwm/pwm-spear.c |
| @@ -178,18 +178,13 @@ static int spear_pwm_probe(struct platform_device *pdev) |
| int ret; |
| u32 val; |
| |
| - r = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
| - if (!r) { |
| - dev_err(&pdev->dev, "no memory resources defined\n"); |
| - return -ENODEV; |
| - } |
| - |
| pc = devm_kzalloc(&pdev->dev, sizeof(*pc), GFP_KERNEL); |
| if (!pc) { |
| dev_err(&pdev->dev, "failed to allocate memory\n"); |
| return -ENOMEM; |
| } |
| |
| + r = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
| pc->mmio_base = devm_ioremap_resource(&pdev->dev, r); |
| if (IS_ERR(pc->mmio_base)) |
| return PTR_ERR(pc->mmio_base); |
| -- |
| 1.8.4.3.gca3854a |
| |