i2c: make maa_i2c_read always return the length of the read
authorBrendan Le Foll <brendan.le.foll@intel.com>
Wed, 11 Jun 2014 09:47:13 +0000 (10:47 +0100)
committerBrendan Le Foll <brendan.le.foll@intel.com>
Wed, 11 Jun 2014 09:49:23 +0000 (10:49 +0100)
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
api/maa/i2c.h
api/maa/i2c.hpp
src/i2c/i2c.c

index 214737f..374ee1b 100644 (file)
@@ -85,9 +85,9 @@ maa_result_t maa_i2c_frequency(maa_i2c_context dev, int hz);
  * @param dev The i2c context
  * @param data pointer to the byte array to read data in to
  * @param length max number of bytes to read
- * @return Result of operation
+ * @return length of the read in bytes or 0
  */
-maa_result_t maa_i2c_read(maa_i2c_context dev, uint8_t *data, int length);
+int maa_i2c_read(maa_i2c_context dev, uint8_t *data, int length);
 
 /**
  * Read a single byte from the i2c context
index eb480aa..e2dd5c4 100644 (file)
@@ -93,9 +93,9 @@ class I2c {
          *
          * @param data Buffer to write into
          * @param length Size of read
-         * @return Result of operation
+         * @return length of the read or 0 if failed
          */
-        maa_result_t read(unsigned char * data, int length) {
+        int read(unsigned char * data, int length) {
             return maa_i2c_read(m_i2c, data, length);
         }
         /**
index 0fc39ed..9d21e87 100644 (file)
@@ -78,14 +78,14 @@ maa_i2c_frequency(maa_i2c_context dev, int hz)
     return MAA_SUCCESS;
 }
 
-maa_result_t
+int
 maa_i2c_read(maa_i2c_context dev, uint8_t* data, int length)
 {
     // this is the read(3) syscall not maa_i2c_read()
     if (read(dev->fh, data, length) == length) {
         return length;
     }
-    return MAA_ERROR_NO_DATA_AVAILABLE;
+    return 0;
 }
 
 uint8_t