summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-07-06 08:51:38 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-07-06 08:51:38 -0600
commit9ed66e6a680e7f9a89796357256b594eac43c459 (patch)
treeb093fe598a7d0944d6454b61ef2457c2086fcbf4
parentf310c3bb4d17d0810dbe9d39c3a081927f007fc5 (diff)
downloadnuttx-9ed66e6a680e7f9a89796357256b594eac43c459.tar.gz
nuttx-9ed66e6a680e7f9a89796357256b594eac43c459.tar.bz2
nuttx-9ed66e6a680e7f9a89796357256b594eac43c459.zip
maXTouch: Fix test of I2C_TRANSFER return value
-rw-r--r--nuttx/arch/arm/src/sama5/sam_twi.c3
-rw-r--r--nuttx/drivers/input/mxt.c30
2 files changed, 6 insertions, 27 deletions
diff --git a/nuttx/arch/arm/src/sama5/sam_twi.c b/nuttx/arch/arm/src/sama5/sam_twi.c
index b5fc202c3..899f56a81 100644
--- a/nuttx/arch/arm/src/sama5/sam_twi.c
+++ b/nuttx/arch/arm/src/sama5/sam_twi.c
@@ -1027,6 +1027,9 @@ static int twi_registercallback(FAR struct i2c_dev_s *dev,
* Receive a block of data on I2C using the previously selected I2C
* frequency and slave address.
*
+ * Returned Value:
+ * Returns zero on success; a negated errno value on failure.
+ *
*******************************************************************************/
#ifdef CONFIG_I2C_TRANSFER
diff --git a/nuttx/drivers/input/mxt.c b/nuttx/drivers/input/mxt.c
index 46a3ab9a1..fd35ca071 100644
--- a/nuttx/drivers/input/mxt.c
+++ b/nuttx/drivers/input/mxt.c
@@ -291,20 +291,8 @@ static int mxt_getreg(FAR struct mxt_dev_s *priv, uint16_t regaddr,
*/
ret = I2C_TRANSFER(priv->i2c, msg, 2);
- if (ret == 2)
- {
- ret = OK;
- }
-
- /* The return value was an error or some number of messages other than 2 */
-
- else
+ if (ret < 0)
{
- if (ret >= 0)
- {
- ret = -EIO;
- }
-
idbg("ERROR: I2C_TRANSFER failed: %d\n", ret);
}
@@ -344,20 +332,8 @@ static int mxt_putreg(FAR struct mxt_dev_s *priv, uint16_t regaddr,
*/
ret = I2C_TRANSFER(priv->i2c, msg, 2);
- if (ret == 2)
- {
- ret = OK;
- }
-
- /* The return value was an error or some number of messages other than 2 */
-
- else
+ if (ret < 0)
{
- if (ret >= 0)
- {
- ret = -EIO;
- }
-
idbg("ERROR: I2C_TRANSFER failed: %d\n", ret);
}
@@ -387,7 +363,7 @@ static FAR struct mxt_object_s *mxt_object(FAR struct mxt_dev_s *priv,
}
}
- idbg("ERROR: Invalid object type\n");
+ idbg("ERROR: Invalid object type: %d\n", type);
return NULL;
}