Re: [PATCH v2 2/3] phy: phy-rockchip-inno-usb2: Handle failed extcon allocation better
From: Christophe JAILLET <hidden>
Date: 2024-08-21 11:18:37
Also in:
linux-phy, linux-rockchip, lkml
From: Christophe JAILLET <hidden>
Date: 2024-08-21 11:18:37
Also in:
linux-phy, linux-rockchip, lkml
Le 21/08/2024 à 09:37, Dragan Simic a écrit :
Return the actual error code upon failure to allocate extcon device, instead of hardcoding -ENOMEM. Use dev_err_probe() to also log appropriate messages, which is fine because the containing function is used in the probe path. Helped-by: Heiko Stubner [off-list ref] Signed-off-by: Dragan Simic <redacted> --- drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c index 113bfc717ff0..05af46dda11d 100644 --- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c +++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c@@ -435,7 +435,8 @@ static int rockchip_usb2phy_extcon_register(struct rockchip_usb2phy *rphy) rockchip_usb2phy_extcon_cable); if (IS_ERR(edev)) - return -ENOMEM; + return dev_err_probe(rphy->dev, PTR_ERR(edev), + "failed to allocate extcon device\n");
Returning PTR_ERR(edev) may make sense, but I don't think that adding a dev_err_probe() really helps. devm_extcon_dev_allocate() can only return -EINVAL if it 2nd argument is NULL. It is trivial to see that it can't happen here, rockchip_usb2phy_extcon_cable is a global variable. in all other cases, it returns -ENOMEM because of a failed memory allocation. In this case, usually it is not needed to log anything because it is already loud enough. Just my 2c. CJ
ret = devm_extcon_dev_register(rphy->dev, edev);
if (ret) {