Input: cypress_ps2 - propagate errors from lower layers
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 28 Jun 2024 22:47:26 +0000 (15:47 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 3 Jul 2024 20:48:53 +0000 (13:48 -0700)
Do not override errors reported by lower layers with generic "-1",
but propagate them to the callers. Change the checks for errors to be
in the form of "if (error)" to maintain consistency.

Link: https://lore.kernel.org/r/20240628224728.2180126-4-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/mouse/cypress_ps2.c

index 8e17cd0..87b87f1 100644 (file)
@@ -97,10 +97,10 @@ static int cypress_ps2_read_cmd_status(struct psmouse *psmouse,
                                       unsigned char cmd,
                                       unsigned char *param)
 {
-       int rc;
        struct ps2dev *ps2dev = &psmouse->ps2dev;
        enum psmouse_state old_state;
        int pktsize;
+       int rc;
 
        ps2_begin_command(ps2dev);
 
@@ -112,7 +112,7 @@ static int cypress_ps2_read_cmd_status(struct psmouse *psmouse,
        memset(param, 0, pktsize);
 
        rc = cypress_ps2_sendbyte(psmouse, 0xe9);
-       if (rc < 0)
+       if (rc)
                goto out;
 
        if (!wait_event_timeout(ps2dev->wait,
@@ -322,15 +322,15 @@ static int cypress_read_tp_metrics(struct psmouse *psmouse)
 
 static int cypress_query_hardware(struct psmouse *psmouse)
 {
-       int ret;
+       int error;
 
-       ret = cypress_read_fw_version(psmouse);
-       if (ret)
-               return ret;
+       error = cypress_read_fw_version(psmouse);
+       if (error)
+               return error;
 
-       ret = cypress_read_tp_metrics(psmouse);
-       if (ret)
-               return ret;
+       error = cypress_read_tp_metrics(psmouse);
+       if (error)
+               return error;
 
        return 0;
 }
@@ -339,9 +339,12 @@ static int cypress_set_absolute_mode(struct psmouse *psmouse)
 {
        struct cytp_data *cytp = psmouse->private;
        unsigned char param[3];
+       int error;
 
-       if (cypress_send_ext_cmd(psmouse, CYTP_CMD_ABS_WITH_PRESSURE_MODE, param) < 0)
-               return -1;
+       error = cypress_send_ext_cmd(psmouse, CYTP_CMD_ABS_WITH_PRESSURE_MODE,
+                                    param);
+       if (error)
+               return error;
 
        cytp->mode = (cytp->mode & ~CYTP_BIT_ABS_REL_MASK)
                        | CYTP_BIT_ABS_PRESSURE;
@@ -366,7 +369,7 @@ static void cypress_reset(struct psmouse *psmouse)
 static int cypress_set_input_params(struct input_dev *input,
                                    struct cytp_data *cytp)
 {
-       int ret;
+       int error;
 
        if (!cytp->tp_res_x || !cytp->tp_res_y)
                return -EINVAL;
@@ -383,10 +386,10 @@ static int cypress_set_input_params(struct input_dev *input,
        input_set_abs_params(input, ABS_MT_POSITION_Y, 0, cytp->tp_max_abs_y, 0, 0);
        input_set_abs_params(input, ABS_MT_PRESSURE, 0, 255, 0, 0);
 
-       ret = input_mt_init_slots(input, CYTP_MAX_MT_SLOTS,
-                       INPUT_MT_DROP_UNUSED|INPUT_MT_TRACK);
-       if (ret < 0)
-               return ret;
+       error = input_mt_init_slots(input, CYTP_MAX_MT_SLOTS,
+                                   INPUT_MT_DROP_UNUSED | INPUT_MT_TRACK);
+       if (error)
+               return error;
 
        __set_bit(INPUT_PROP_SEMI_MT, input->propbit);
 
@@ -637,21 +640,22 @@ static void cypress_disconnect(struct psmouse *psmouse)
 static int cypress_reconnect(struct psmouse *psmouse)
 {
        int tries = CYTP_PS2_CMD_TRIES;
-       int rc;
+       int error;
 
        do {
                cypress_reset(psmouse);
-               rc = cypress_detect(psmouse, false);
-       } while (rc && (--tries > 0));
+               error = cypress_detect(psmouse, false);
+       } while (error && (--tries > 0));
 
-       if (rc) {
+       if (error) {
                psmouse_err(psmouse, "Reconnect: unable to detect trackpad.\n");
-               return -1;
+               return error;
        }
 
-       if (cypress_set_absolute_mode(psmouse)) {
+       error = cypress_set_absolute_mode(psmouse);
+       if (error) {
                psmouse_err(psmouse, "Reconnect: Unable to initialize Cypress absolute mode.\n");
-               return -1;
+               return error;
        }
 
        return 0;
@@ -660,6 +664,7 @@ static int cypress_reconnect(struct psmouse *psmouse)
 int cypress_init(struct psmouse *psmouse)
 {
        struct cytp_data *cytp;
+       int error;
 
        cytp = kzalloc(sizeof(*cytp), GFP_KERNEL);
        if (!cytp)
@@ -670,17 +675,20 @@ int cypress_init(struct psmouse *psmouse)
 
        cypress_reset(psmouse);
 
-       if (cypress_query_hardware(psmouse)) {
+       error = cypress_query_hardware(psmouse);
+       if (error) {
                psmouse_err(psmouse, "Unable to query Trackpad hardware.\n");
                goto err_exit;
        }
 
-       if (cypress_set_absolute_mode(psmouse)) {
+       error = cypress_set_absolute_mode(psmouse);
+       if (error) {
                psmouse_err(psmouse, "init: Unable to initialize Cypress absolute mode.\n");
                goto err_exit;
        }
 
-       if (cypress_set_input_params(psmouse->dev, cytp) < 0) {
+       error = cypress_set_input_params(psmouse->dev, cytp);
+       if (error) {
                psmouse_err(psmouse, "init: Unable to set input params.\n");
                goto err_exit;
        }
@@ -705,5 +713,5 @@ err_exit:
        psmouse->private = NULL;
        kfree(cytp);
 
-       return -1;
+       return error;
 }