]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
platform/x86: intel_scu_ipc: Convert to check for errors first
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 21 Oct 2024 13:34:32 +0000 (16:34 +0300)
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Tue, 22 Oct 2024 08:34:07 +0000 (11:34 +0300)
Convert to use usual pattern, i.e. check for errors first. This makes
code less indented and easier to read after all.

Tested-by: Ferry Toth <fntoth@gmail.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20241021133705.2933464-5-andriy.shevchenko@linux.intel.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
drivers/platform/x86/intel_scu_ipc.c

index 9829d4145c58cc0db60d9f7ffa618d6464c6b0b3..2d25a0a8614338f59f560f6d7fda0bb0ee24462f 100644 (file)
@@ -317,12 +317,15 @@ static int pwr_reg_rdwr(struct intel_scu_ipc_dev *scu, u16 *addr, u8 *data,
        }
 
        err = intel_scu_ipc_check_status(scu);
-       if (!err) { /* Read rbuf */
-               for (nc = 0, offset = 0; nc < 4; nc++, offset += 4)
-                       wbuf[nc] = ipc_data_readl(scu, offset);
-               memcpy(data, wbuf, count);
-       }
-       return err;
+       if (err)
+               return err;
+
+       /* Read rbuf */
+       for (nc = 0, offset = 0; nc < 4; nc++, offset += 4)
+               wbuf[nc] = ipc_data_readl(scu, offset);
+       memcpy(data, wbuf, count);
+
+       return 0;
 }
 
 /**
@@ -480,7 +483,7 @@ int intel_scu_ipc_dev_command_with_size(struct intel_scu_ipc_dev *scu, int cmd,
 {
        size_t outbuflen = DIV_ROUND_UP(outlen, sizeof(u32));
        size_t inbuflen = DIV_ROUND_UP(inlen, sizeof(u32));
-       u32 cmdval, inbuf[4] = {};
+       u32 cmdval, inbuf[4] = {}, outbuf[4] = {};
        int i, err;
 
        if (inbuflen > 4 || outbuflen > 4)
@@ -499,19 +502,17 @@ int intel_scu_ipc_dev_command_with_size(struct intel_scu_ipc_dev *scu, int cmd,
        cmdval = (size << 16) | (sub << 12) | cmd;
        ipc_command(scu, cmdval);
        err = intel_scu_ipc_check_status(scu);
+       if (err) {
+               dev_err(&scu->dev, "IPC command %#x failed with %d\n", cmdval, err);
+               return err;
+       }
 
-       if (!err) {
-               u32 outbuf[4] = {};
-
-               for (i = 0; i < outbuflen; i++)
-                       outbuf[i] = ipc_data_readl(scu, 4 * i);
+       for (i = 0; i < outbuflen; i++)
+               outbuf[i] = ipc_data_readl(scu, 4 * i);
 
-               memcpy(out, outbuf, outlen);
-       }
+       memcpy(out, outbuf, outlen);
 
-       if (err)
-               dev_err(&scu->dev, "IPC command %#x failed with %d\n", cmdval, err);
-       return err;
+       return 0;
 }
 EXPORT_SYMBOL(intel_scu_ipc_dev_command_with_size);