Re: [PATCH net-next] net: mdio: mscc-miim: Use devm_platform_get_and_ioremap_resource()

From: Yang Yingliang
Date: Thu Jun 10 2021 - 21:35:13 EST


On 2021/6/11 0:01, Andrew Lunn wrote:
- dev->regs = devm_ioremap_resource(&pdev->dev, res);
+ dev->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
if (IS_ERR(dev->regs)) {
Here, only dev->regs is considered.

dev_err(&pdev->dev, "Unable to map MIIM registers\n");
return PTR_ERR(dev->regs);

+ dev->phy_regs = devm_platform_get_and_ioremap_resource(pdev, 1, &res);
+ if (res && IS_ERR(dev->phy_regs)) {
Here you look at both res and dev->phy_regs.

This seems inconsistent. Can devm_platform_get_and_ioremap_resource()
return success despite res being NULL?
No, if res is NULL, devm_platform_get_and_ioremap_resource() returns failed.
But, before this patch, if the internal phy res is NULL, it doesn't return error
code, so I checked the res to make sure it doesn't change the origin code logic.