From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Sat, 2 Mar 2024 09:15:20 +0100 Add a jump target so that a bit of exception handling can be better reused at the end of this function implementation. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> --- drivers/input/misc/iqs269a.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/input/misc/iqs269a.c b/drivers/input/misc/iqs269a.c index cd14ff9f57cf..1379f80c00e2 100644 --- a/drivers/input/misc/iqs269a.c +++ b/drivers/input/misc/iqs269a.c @@ -744,8 +744,7 @@ static int iqs269_parse_chan(struct iqs269_private *iqs269, dev_err(&client->dev, "Invalid channel %u threshold: %u\n", reg, val); - fwnode_handle_put(ev_node); - return -EINVAL; + goto put_fwnode; } ch_reg->thresh[iqs269_events[i].th_offs] = val; @@ -758,8 +757,7 @@ static int iqs269_parse_chan(struct iqs269_private *iqs269, dev_err(&client->dev, "Invalid channel %u hysteresis: %u\n", reg, val); - fwnode_handle_put(ev_node); - return -EINVAL; + goto put_fwnode; } if (i == IQS269_EVENT_DEEP_DN || @@ -805,6 +803,10 @@ static int iqs269_parse_chan(struct iqs269_private *iqs269, } return 0; + +put_fwnode: + fwnode_handle_put(ev_node); + return -EINVAL; } static int iqs269_parse_prop(struct iqs269_private *iqs269) -- 2.44.0