Commit 9d59d6ff authored by Siva Durga Prasad Paladugu's avatar Siva Durga Prasad Paladugu Committed by Heiko Schocher

i2c: i2c_cdns: Fix below warnings with checker tool

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: default avatarSiva Durga Prasad Paladugu <>
Signed-off-by: default avatarMichal Simek <>
Reviewed-by: Heiko Schocher's avatarHeiko Schocher <>
parent 2e8092d9
......@@ -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 */
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment