Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

hwrng: tx4939 - 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>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

authored by

Julia Lawall and committed by
Herbert Xu
9dc48034 c849163b

+1 -3
+1 -3
drivers/char/hw_random/tx4939-rng.c
··· 110 110 struct resource *r; 111 111 int i; 112 112 113 - r = platform_get_resource(dev, IORESOURCE_MEM, 0); 114 - if (!r) 115 - return -EBUSY; 116 113 rngdev = devm_kzalloc(&dev->dev, sizeof(*rngdev), GFP_KERNEL); 117 114 if (!rngdev) 118 115 return -ENOMEM; 116 + r = platform_get_resource(dev, IORESOURCE_MEM, 0); 119 117 rngdev->base = devm_ioremap_resource(&dev->dev, r); 120 118 if (IS_ERR(rngdev->base)) 121 119 return PTR_ERR(rngdev->base);