Re: [PATCH v5 5/9] phy: phy-can-transceiver: Propagate return value of gpiod_set_value_cansleep
From: Frank Li <Frank.li@nxp.com>
Date: 2025-09-04 14:20:28
Also in:
imx, linux-can, linux-devicetree, linux-phy, lkml
On Thu, Sep 04, 2025 at 04:36:48PM +0800, Peng Fan wrote:
gpiod_set_value_cansleep might return failure, propagate the return value of gpiod_set_value_cansleep to parent.
Nit: require "()" for function. gpiod_set_value_cansleep(). Reviewed-by: Frank Li <Frank.Li@nxp.com>
quoted hunk ↗ jump to hunk
Signed-off-by: Peng Fan <peng.fan@nxp.com> --- drivers/phy/phy-can-transceiver.c | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-)diff --git a/drivers/phy/phy-can-transceiver.c b/drivers/phy/phy-can-transceiver.c index b7d75a78d9242e2003660a87d2d4c9f784aea523..ccb29e1dfe0d07005b4bcd8fefa2787292d921a0 100644 --- a/drivers/phy/phy-can-transceiver.c +++ b/drivers/phy/phy-can-transceiver.c@@ -46,23 +46,32 @@ static int can_transceiver_phy_power_on(struct phy *phy) return ret; } } - gpiod_set_value_cansleep(can_transceiver_phy->standby_gpio, 0); - gpiod_set_value_cansleep(can_transceiver_phy->enable_gpio, 1); - return 0; + ret = gpiod_set_value_cansleep(can_transceiver_phy->standby_gpio, 0); + if (ret) + return ret; + + return gpiod_set_value_cansleep(can_transceiver_phy->enable_gpio, 1); } /* Power off function */ static int can_transceiver_phy_power_off(struct phy *phy) { struct can_transceiver_phy *can_transceiver_phy = phy_get_drvdata(phy); + int ret; + + ret = gpiod_set_value_cansleep(can_transceiver_phy->standby_gpio, 1); + if (ret) + return ret; + + ret = gpiod_set_value_cansleep(can_transceiver_phy->enable_gpio, 0); + if (ret) + return ret; - gpiod_set_value_cansleep(can_transceiver_phy->standby_gpio, 1); - gpiod_set_value_cansleep(can_transceiver_phy->enable_gpio, 0); if (can_transceiver_phy->priv->mux_state) - mux_state_deselect(can_transceiver_phy->priv->mux_state); + ret = mux_state_deselect(can_transceiver_phy->priv->mux_state); - return 0; + return ret; } static const struct phy_ops can_transceiver_phy_ops = { --2.37.1