[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1402954800-28215-6-git-send-email-dianders@chromium.org>
Date: Mon, 16 Jun 2014 14:39:55 -0700
From: Doug Anderson <dianders@...omium.org>
To: Lee Jones <lee.jones@...aro.org>
Cc: Andrew Bresticker <abrestic@...omium.org>, swarren@...dotorg.org,
olof@...om.net, Sonny Rao <sonnyrao@...omium.org>,
linux-samsung-soc@...r.kernel.org,
Javier Martinez Canillas <javier.martinez@...labora.co.uk>,
Bill Richardson <wfrichar@...omium.org>, sjg@...omium.org,
Wolfram Sang <wsa@...-dreams.de>, broonie@...nel.org,
Doug Anderson <dianders@...omium.org>, sameo@...ux.intel.com,
linux-kernel@...r.kernel.org
Subject: [PATCH 05/10] mdf: cros_ec: Detect in-progress commands
From: Simon Glass <sjg@...omium.org>
Some commands take a while to execute. Use -EAGAIN to signal this to the
caller.
Signed-off-by: Simon Glass <sjg@...omium.org>
Signed-off-by: Doug Anderson <dianders@...omium.org>
---
drivers/mfd/cros_ec_spi.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/mfd/cros_ec_spi.c b/drivers/mfd/cros_ec_spi.c
index 52d4d7b..c29a2d7 100644
--- a/drivers/mfd/cros_ec_spi.c
+++ b/drivers/mfd/cros_ec_spi.c
@@ -292,6 +292,12 @@ static int cros_ec_cmd_xfer_spi(struct cros_ec_device *ec_dev,
/* check response error code */
ptr = ec_dev->din;
if (ptr[0]) {
+ if (ptr[0] == EC_RES_IN_PROGRESS) {
+ dev_dbg(ec_dev->dev, "command 0x%02x in progress\n",
+ ec_msg->cmd);
+ ret = -EAGAIN;
+ goto exit;
+ }
dev_warn(ec_dev->dev, "command 0x%02x returned an error %d\n",
ec_msg->cmd, ptr[0]);
debug_packet(ec_dev->dev, "in_err", ptr, len);
--
2.0.0.526.g5318336
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists