i2c: rcar: simplify check for last message
authorSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Sun, 14 Sep 2014 20:14:14 +0000 (00:14 +0400)
committerSimon Horman <horms+renesas@verge.net.au>
Fri, 5 Dec 2014 00:58:53 +0000 (09:58 +0900)
rcar_i2c_master_xfer() needlessly compares the message pointers (using indirect
addressing) in order to detect the last I2C message, while it's enough to only
compare the message indexes.

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
(cherry picked from commit c30d7662d81062cbc25e5ff50be8dbaca3a1f20a)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
drivers/i2c/busses/i2c-rcar.c

index e506fcd..98125fb 100644 (file)
@@ -453,7 +453,7 @@ static int rcar_i2c_master_xfer(struct i2c_adapter *adap,
                priv->msg       = &msgs[i];
                priv->pos       = 0;
                priv->flags     = 0;
-               if (priv->msg == &msgs[num - 1])
+               if (i == num - 1)
                        rcar_i2c_flags_set(priv, ID_LAST_MSG);
 
                ret = rcar_i2c_prepare_msg(priv);