Re: [PATCH 16/36] Input: remove conditional return with no effect

From: Sang-Heon Jeon

Date: Sat Jul 25 2026 - 08:10:50 EST


Hello,

On Sat, Jul 25, 2026 at 4:30 AM Dmitry Torokhov
<dmitry.torokhov@xxxxxxxxx> wrote:
>
> On Fri, Jul 24, 2026 at 03:45:18AM +0900, Sang-Heon Jeon wrote:
> > Both branches of the check return the same value, so the check has
> > no effect. Remove it and return the value directly.
> >
> > This is the result of running the Coccinelle script from
> > scripts/coccinelle/misc/cond_return_no_effect.cocci.
> >
> > Signed-off-by: Sang-Heon Jeon <ekffu200098@xxxxxxxxx>
> > ---
> > drivers/input/keyboard/pmic8xxx-keypad.c | 8 +-------
> > drivers/input/mouse/synaptics_i2c.c | 6 +-----
> > drivers/input/rmi4/rmi_smbus.c | 7 +------
> > 3 files changed, 3 insertions(+), 18 deletions(-)
> >
> > diff --git a/drivers/input/keyboard/pmic8xxx-keypad.c b/drivers/input/keyboard/pmic8xxx-keypad.c
> > index 35d1aa2a22a5..c916e80e2f58 100644
> > --- a/drivers/input/keyboard/pmic8xxx-keypad.c
> > +++ b/drivers/input/keyboard/pmic8xxx-keypad.c
> > @@ -462,15 +462,9 @@ static int pmic8xxx_kp_enable(struct pmic8xxx_kp *kp)
> >
> > static int pmic8xxx_kp_disable(struct pmic8xxx_kp *kp)
> > {
> > - int rc;
> > -
> > kp->ctrl_reg &= ~KEYP_CTRL_KEYP_EN;
> >
> > - rc = regmap_write(kp->regmap, KEYP_CTRL, kp->ctrl_reg);
> > - if (rc < 0)
> > - return rc;
> > -
> > - return rc;
> > + return regmap_write(kp->regmap, KEYP_CTRL, kp->ctrl_reg);
>
> This is fine.
>
> > }
> >
> > static int pmic8xxx_kp_open(struct input_dev *dev)
> > diff --git a/drivers/input/mouse/synaptics_i2c.c b/drivers/input/mouse/synaptics_i2c.c
> > index d4cf982f1263..85e37e2ce45b 100644
> > --- a/drivers/input/mouse/synaptics_i2c.c
> > +++ b/drivers/input/mouse/synaptics_i2c.c
> > @@ -257,11 +257,7 @@ static s32 synaptics_i2c_reg_set(struct i2c_client *client, u16 reg, u8 val)
> > if (error)
> > return error;
> >
> > - error = i2c_smbus_write_byte_data(client, reg & 0xff, val);
> > - if (error)
> > - return error;
> > -
> > - return error;
> > + return i2c_smbus_write_byte_data(client, reg & 0xff, val);
>
> When there ate multiple failure points the preference is to explicitly
> return 0 on success.

i2c_smbus_write_byte_data() only returns negative or zero, so still no
functional change. I will change it to follow the preference in v2.

> > }
> >
> > static s32 synaptics_i2c_word_get(struct i2c_client *client, u16 reg)
> > diff --git a/drivers/input/rmi4/rmi_smbus.c b/drivers/input/rmi4/rmi_smbus.c
> > index 6de68c602558..3160714a514a 100644
> > --- a/drivers/input/rmi4/rmi_smbus.c
> > +++ b/drivers/input/rmi4/rmi_smbus.c
> > @@ -177,13 +177,8 @@ static int smb_block_read(struct rmi_transport_dev *xport,
> > struct rmi_smb_xport *rmi_smb =
> > container_of(xport, struct rmi_smb_xport, xport);
> > struct i2c_client *client = rmi_smb->client;
> > - int retval;
> >
> > - retval = i2c_smbus_read_block_data(client, commandcode, buf);
> > - if (retval < 0)
> > - return retval;
> > -
> > - return retval;
> > + return i2c_smbus_read_block_data(client, commandcode, buf);
>
> This is fine too...
>
> > }
> >
> > static int rmi_smb_read_block(struct rmi_transport_dev *xport, u16 rmiaddr,
>
> Thanks.
>
> --
> Dmitry

Thanks for reviewing!

Best Regards,
Sang-Heon Jeon