Always return struct anarion_gmac * from anarion_config_dt().
In the case where ctl_block was an error pointer it was being
returned directly. Which sparse flags as follows:
.../dwmac-anarion.c:73:24: warning: incorrect type in return expression (different address spaces)
.../dwmac-anarion.c:73:24: expected struct anarion_gmac *
.../dwmac-anarion.c:73:24: got void [noderef] __iomem *[assigned] ctl_block
Avoid this by converting the error pointer to an error.
And then reversing the conversion.
As a side effect, the error can be used for logging purposes,
subjectively, leading to a minor cleanup.
No functional change intended.
Compile tested only.
Signed-off-by: Simon Horman <horms@kernel.org>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
ctl_block = devm_platform_ioremap_resource(pdev, 1);
if (IS_ERR(ctl_block)) {
- dev_err(&pdev->dev, "Cannot get reset region (%ld)!\n",
- PTR_ERR(ctl_block));
- return ctl_block;
+ err = PTR_ERR(ctl_block);
+ dev_err(&pdev->dev, "Cannot get reset region (%d)!\n", err);
+ return ERR_PTR(err);
}
gmac = devm_kzalloc(&pdev->dev, sizeof(*gmac), GFP_KERNEL);