RE: [PATCHv2] mfd: twl4030: clarify the return value for read and write

2009-12-02 Thread Gadiyar, Anand
Amit Kucheria wrote:
> Infact, we can just return -1 so that caller knows for sure that all messages
> were not tranferred. Please consider fixed patch instead.
> 
> We should be checking if all the messages were tranferred or not. And return
> -1 for failure. Currently we return success (0) even if none of messages were
> transferred successfully.
> 
> Signed-off-by: Amit Kucheria 
> ---
>  drivers/mfd/twl4030-core.c |   25 +
>  1 files changed, 17 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/mfd/twl4030-core.c b/drivers/mfd/twl4030-core.c
> index 56f1de5..8f9ba79 100644
> --- a/drivers/mfd/twl4030-core.c
> +++ b/drivers/mfd/twl4030-core.c
> @@ -292,10 +292,14 @@ int twl4030_i2c_write(u8 mod_no, u8 *value, u8 reg, 
> unsigned num_bytes)
>   ret = i2c_transfer(twl->client->adapter, twl->xfer_msg, 1);
>   mutex_unlock(&twl->xfer_lock);
>  
> - /* i2cTransfer returns num messages.translate it pls.. */
> - if (ret >= 0)
> - ret = 0;
> - return ret;
> + /* i2c_transfer returns number of messages transferred */
> + if (ret != 1) {
> + pr_err("%s: i2c_write failed to transfer all messages\n",
> + DRIVER_NAME);
> + return -1;
> + } else {
> + return 0;
> + }
>  }
>  EXPORT_SYMBOL(twl4030_i2c_write);
>  
> @@ -344,10 +348,15 @@ int twl4030_i2c_read(u8 mod_no, u8 *value, u8 reg, 
> unsigned num_bytes)
>   ret = i2c_transfer(twl->client->adapter, twl->xfer_msg, 2);
>   mutex_unlock(&twl->xfer_lock);
>  
> - /* i2cTransfer returns num messages.translate it pls.. */
> - if (ret >= 0)
> - ret = 0;
> - return ret;
> + /* i2c_transfer returns number of messages transferred */
> + if (ret != 2) {
> + pr_err("%s: i2c_read failed to transfer all messages\n",
> + DRIVER_NAME);
> + return -1;
> + }
> + else {
> + return 0;
> + }

The else clause should be on the same line as the brace closing the if clause.
like you did above

So says Documentation/CodingStyle.

- Anand
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCHv2] mfd: twl4030: clarify the return value for read and write

2009-12-02 Thread Amit Kucheria
Infact, we can just return -1 so that caller knows for sure that all messages
were not tranferred. Please consider fixed patch instead.

We should be checking if all the messages were tranferred or not. And return
-1 for failure. Currently we return success (0) even if none of messages were
transferred successfully.

Signed-off-by: Amit Kucheria 
---
 drivers/mfd/twl4030-core.c |   25 +
 1 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/drivers/mfd/twl4030-core.c b/drivers/mfd/twl4030-core.c
index 56f1de5..8f9ba79 100644
--- a/drivers/mfd/twl4030-core.c
+++ b/drivers/mfd/twl4030-core.c
@@ -292,10 +292,14 @@ int twl4030_i2c_write(u8 mod_no, u8 *value, u8 reg, 
unsigned num_bytes)
ret = i2c_transfer(twl->client->adapter, twl->xfer_msg, 1);
mutex_unlock(&twl->xfer_lock);
 
-   /* i2cTransfer returns num messages.translate it pls.. */
-   if (ret >= 0)
-   ret = 0;
-   return ret;
+   /* i2c_transfer returns number of messages transferred */
+   if (ret != 1) {
+   pr_err("%s: i2c_write failed to transfer all messages\n",
+   DRIVER_NAME);
+   return -1;
+   } else {
+   return 0;
+   }
 }
 EXPORT_SYMBOL(twl4030_i2c_write);
 
@@ -344,10 +348,15 @@ int twl4030_i2c_read(u8 mod_no, u8 *value, u8 reg, 
unsigned num_bytes)
ret = i2c_transfer(twl->client->adapter, twl->xfer_msg, 2);
mutex_unlock(&twl->xfer_lock);
 
-   /* i2cTransfer returns num messages.translate it pls.. */
-   if (ret >= 0)
-   ret = 0;
-   return ret;
+   /* i2c_transfer returns number of messages transferred */
+   if (ret != 2) {
+   pr_err("%s: i2c_read failed to transfer all messages\n",
+   DRIVER_NAME);
+   return -1;
+   }
+   else {
+   return 0;
+   }
 }
 EXPORT_SYMBOL(twl4030_i2c_read);
 
-- 
1.6.3.3

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html