]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
i2c: sh_mobile: remove get_data function
authorWolfram Sang <wsa+renesas@sang-engineering.com>
Wed, 16 Jan 2019 21:05:50 +0000 (22:05 +0100)
committerWolfram Sang <wsa@the-dreams.de>
Tue, 22 Jan 2019 23:18:07 +0000 (00:18 +0100)
It makes the code much easier comprehensible to explicitly code that the
first byte will be client address and all the following bytes are the
actual data.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-sh_mobile.c

index e18e3cedf8175076e8f062fda163e42327f82db7..27b57b376549a2dcb872980850eb17d9ac42fbd5 100644 (file)
@@ -358,18 +358,6 @@ static bool sh_mobile_i2c_is_first_byte(struct sh_mobile_i2c_data *pd)
        return pd->pos == -1;
 }
 
-static void sh_mobile_i2c_get_data(struct sh_mobile_i2c_data *pd,
-                                  unsigned char *buf)
-{
-       switch (pd->pos) {
-       case -1:
-               *buf = i2c_8bit_addr_from_msg(pd->msg);
-               break;
-       default:
-               *buf = pd->msg->buf[pd->pos];
-       }
-}
-
 static int sh_mobile_i2c_isr_tx(struct sh_mobile_i2c_data *pd)
 {
        unsigned char data;
@@ -379,8 +367,13 @@ static int sh_mobile_i2c_isr_tx(struct sh_mobile_i2c_data *pd)
                return 1;
        }
 
-       sh_mobile_i2c_get_data(pd, &data);
-       i2c_op(pd, sh_mobile_i2c_is_first_byte(pd) ? OP_TX_FIRST : OP_TX, data);
+       if (sh_mobile_i2c_is_first_byte(pd)) {
+               data = i2c_8bit_addr_from_msg(pd->msg);
+               i2c_op(pd, OP_TX_FIRST, data);
+       } else {
+               data = pd->msg->buf[pd->pos];
+               i2c_op(pd, OP_TX, data);
+       }
 
        pd->pos++;
        return 0;
@@ -393,7 +386,7 @@ static int sh_mobile_i2c_isr_rx(struct sh_mobile_i2c_data *pd)
 
        do {
                if (sh_mobile_i2c_is_first_byte(pd)) {
-                       sh_mobile_i2c_get_data(pd, &data);
+                       data = i2c_8bit_addr_from_msg(pd->msg);
                        i2c_op(pd, OP_TX_FIRST, data);
                        break;
                }