platform/chrome: cros_ec_sysfs: Use cros_ec_cmd_xfer_status helper
authorEnric Balletbo i Serra <enric.balletbo@collabora.com>
Thu, 20 Feb 2020 15:58:56 +0000 (16:58 +0100)
committerEnric Balletbo i Serra <enric.balletbo@collabora.com>
Mon, 2 Mar 2020 10:04:05 +0000 (11:04 +0100)
This patch makes use of cros_ec_cmd_xfer_status() instead of
cros_ec_cmd_xfer(). In this case the change is trivial and the only
reason to do it is because we want to make cros_ec_cmd_xfer() a private
function for the EC protocol and let people only use the
cros_ec_cmd_xfer_status() to return Linux standard error codes.

Looking at the code I am even unsure that makes sense differentiate
these two errors but let's not change the behaviour for now.

Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Tested-by: Prashant Malani <pmalani@chromium.org>
drivers/platform/chrome/cros_ec_sysfs.c

index 07dac97..d45ea5d 100644 (file)
@@ -149,14 +149,14 @@ static ssize_t version_show(struct device *dev,
        /* Get build info. */
        msg->command = EC_CMD_GET_BUILD_INFO + ec->cmd_offset;
        msg->insize = EC_HOST_PARAM_SIZE;
-       ret = cros_ec_cmd_xfer(ec->ec_dev, msg);
-       if (ret < 0)
-               count += scnprintf(buf + count, PAGE_SIZE - count,
-                                  "Build info:    XFER ERROR %d\n", ret);
-       else if (msg->result != EC_RES_SUCCESS)
+       ret = cros_ec_cmd_xfer_status(ec->ec_dev, msg);
+       if (ret == -EPROTO) {
                count += scnprintf(buf + count, PAGE_SIZE - count,
                                   "Build info:    EC error %d\n", msg->result);
-       else {
+       } else if (ret < 0) {
+               count += scnprintf(buf + count, PAGE_SIZE - count,
+                                  "Build info:    XFER ERROR %d\n", ret);
+       } else {
                msg->data[EC_HOST_PARAM_SIZE - 1] = '\0';
                count += scnprintf(buf + count, PAGE_SIZE - count,
                                   "Build info:    %s\n", msg->data);
@@ -165,14 +165,14 @@ static ssize_t version_show(struct device *dev,
        /* Get chip info. */
        msg->command = EC_CMD_GET_CHIP_INFO + ec->cmd_offset;
        msg->insize = sizeof(*r_chip);
-       ret = cros_ec_cmd_xfer(ec->ec_dev, msg);
-       if (ret < 0)
-               count += scnprintf(buf + count, PAGE_SIZE - count,
-                                  "Chip info:     XFER ERROR %d\n", ret);
-       else if (msg->result != EC_RES_SUCCESS)
+       ret = cros_ec_cmd_xfer_status(ec->ec_dev, msg);
+       if (ret == -EPROTO) {
                count += scnprintf(buf + count, PAGE_SIZE - count,
                                   "Chip info:     EC error %d\n", msg->result);
-       else {
+       } else if (ret < 0) {
+               count += scnprintf(buf + count, PAGE_SIZE - count,
+                                  "Chip info:     XFER ERROR %d\n", ret);
+       } else {
                r_chip = (struct ec_response_get_chip_info *)msg->data;
 
                r_chip->vendor[sizeof(r_chip->vendor) - 1] = '\0';
@@ -189,14 +189,14 @@ static ssize_t version_show(struct device *dev,
        /* Get board version */
        msg->command = EC_CMD_GET_BOARD_VERSION + ec->cmd_offset;
        msg->insize = sizeof(*r_board);
-       ret = cros_ec_cmd_xfer(ec->ec_dev, msg);
-       if (ret < 0)
-               count += scnprintf(buf + count, PAGE_SIZE - count,
-                                  "Board version: XFER ERROR %d\n", ret);
-       else if (msg->result != EC_RES_SUCCESS)
+       ret = cros_ec_cmd_xfer_status(ec->ec_dev, msg);
+       if (ret == -EPROTO) {
                count += scnprintf(buf + count, PAGE_SIZE - count,
                                   "Board version: EC error %d\n", msg->result);
-       else {
+       } else if (ret < 0) {
+               count += scnprintf(buf + count, PAGE_SIZE - count,
+                                  "Board version: XFER ERROR %d\n", ret);
+       } else {
                r_board = (struct ec_response_board_version *)msg->data;
 
                count += scnprintf(buf + count, PAGE_SIZE - count,