platform/chrome: cros_ec_proto: use cros_ec_map_error()
authorTzung-Bi Shih <tzungbi@kernel.org>
Thu, 9 Jun 2022 08:49:42 +0000 (08:49 +0000)
committerTzung-Bi Shih <tzungbi@kernel.org>
Fri, 10 Jun 2022 02:31:43 +0000 (02:31 +0000)
Use cros_ec_map_error() in cros_ec_get_host_event_wake_mask().

The behavior of cros_ec_get_host_event_wake_mask() slightly changed.  It
is acceptable because the caller only needs it returns negative integers
for indicating errors.  Especially, the EC_RES_INVALID_COMMAND still
maps to -EOPNOTSUPP.

Reviewed-by: Guenter Roeck <groeck@chromium.org>
Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>
Link: https://lore.kernel.org/r/20220609084957.3684698-7-tzungbi@kernel.org
drivers/platform/chrome/cros_ec_proto.c

index 1e01eb9..b3e6096 100644 (file)
@@ -247,7 +247,7 @@ static int cros_ec_get_host_event_wake_mask(struct cros_ec_device *ec_dev,
                                            uint32_t *mask)
 {
        struct ec_response_host_event_mask *r;
-       int ret;
+       int ret, mapped;
 
        msg->command = EC_CMD_HOST_EVENT_GET_WAKE_MASK;
        msg->version = 0;
@@ -256,10 +256,9 @@ static int cros_ec_get_host_event_wake_mask(struct cros_ec_device *ec_dev,
 
        ret = send_command(ec_dev, msg);
        if (ret >= 0) {
-               if (msg->result == EC_RES_INVALID_COMMAND)
-                       return -EOPNOTSUPP;
-               if (msg->result != EC_RES_SUCCESS)
-                       return -EPROTO;
+               mapped = cros_ec_map_error(msg->result);
+               if (mapped)
+                       return mapped;
        }
        if (ret > 0) {
                r = (struct ec_response_host_event_mask *)msg->data;