devm_ioremap_resource often uses the result of a call to platform_get_resource_byname as its last argument. devm_ioremap_resource does appropriate error handling on this argument, so error handling can be removed from the call to platform_get_resource_byname. 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,f; expression list es; @@ ( res = f(...); - if (res == NULL) { ... \(goto l;\|return ret;\) } e = devm_ioremap_resource(e1, res); | - res = f(es); ... when != res - if (res == NULL) { ... \(goto l;\|return ret;\) } ... when != res + res = f(es); e = devm_ioremap_resource(e1, res); ) // </smpl> In practice, f is always platform_get_resource_byname (or platform_get_resource, which was handled by a previous patch series). And the call to platform_get_resource_byname always immediately precedes the call to devm_ioremap_resource.