i2c: i2c_cdns: Fix below warnings with checker tool
authorSiva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Thu, 14 Mar 2019 08:18:37 +0000 (09:18 +0100)
committerHeiko Schocher <hs@denx.de>
Thu, 21 Mar 2019 07:21:43 +0000 (08:21 +0100)
This patch fixes below warnings found with checker tool.
The variable len in i2c_msg struct is of unsigned type
and it is received as recv_count which is unsigned type
but it is checked with < 0 which is always false, hence
removed it.
The local variable curr_recv_count is declared as signed
type and compared aginst unsigned recv_count which is
incorrect. This is fixed by declaring it as unsigned type.

drivers/i2c/i2c-cdns.c: In function ‘cdns_i2c_read_data’:
drivers/i2c/i2c-cdns.c:317:18: warning: comparison of
unsigned expression < 0 is always false [-Wtype-limits]
  if ((recv_count < 0))
                  ^
drivers/i2c/i2c-cdns.c:340:24: warning: comparison of
integer expressions of different signedness:
‘u32’ {aka ‘unsigned int’} and ‘int’ [-Wsign-compare]
  updatetx = recv_count > curr_recv_count;
                        ^
drivers/i2c/i2c-cdns.c:361:39: warning: comparison of
integer expressions of different signedness:
‘u32’ {aka ‘unsigned int’} and ‘int’ [-Wsign-compare]
    while (readl(&regs->transfer_size) !=

Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
drivers/i2c/i2c-cdns.c

index 1af94d17614554cda01321f1a6626e3db234ab44..2c0301ad083a0dbc4b7146f9e3a3c640f314960b 100644 (file)
@@ -308,14 +308,10 @@ static int cdns_i2c_read_data(struct i2c_cdns_bus *i2c_bus, u32 addr, u8 *data,
 {
        u8 *cur_data = data;
        struct cdns_i2c_regs *regs = i2c_bus->regs;
-       int curr_recv_count;
+       u32 curr_recv_count;
        int updatetx, hold_quirk;
        u32 ret;
 
-       /* Check the hardware can handle the requested bytes */
-       if ((recv_count < 0))
-               return -EINVAL;
-
        curr_recv_count = recv_count;
 
        /* Check for the message size against the FIFO depth */