All of lore.kernel.org
 help / color / mirror / Atom feed
* [sashal-stable:pending-5.10 370/373] drivers/i2c/busses/i2c-npcm7xx.c:1749:10: warning: Redundant initialization for 'status'. The initialized value is overwritten before it is read. [redundantInitialization]
@ 2022-06-08  5:31 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-06-08  5:31 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 12675 bytes --]

:::::: 
:::::: Manual check reason: "low confidence static check warning: drivers/i2c/busses/i2c-npcm7xx.c:1749:10: warning: Redundant initialization for 'status'. The initialized value is overwritten before it is read. [redundantInitialization]"
:::::: 

CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
TO: Sasha Levin <sashal@kernel.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git pending-5.10
head:   6d2c86b375e6eb49f508f3f8efe7ec77e33632f4
commit: c009b2220e563462677477b8e90edc17672e631c [370/373] i2c: npcm: Handle spurious interrupts
:::::: branch date: 2 days ago
:::::: commit date: 2 days ago
compiler: alpha-linux-gcc (GCC) 11.3.0
reproduce (cppcheck warning):
        # apt-get install cppcheck
        git checkout c009b2220e563462677477b8e90edc17672e631c
        cppcheck --quiet --enable=style,performance,portability --template=gcc FILE

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>


cppcheck warnings: (new ones prefixed by >>)
>> drivers/platform/chrome/cros_ec_proto.c:686:26: warning: Local variable 'msg' shadows outer variable [shadowVariable]
     struct cros_ec_command msg;
                            ^
   drivers/platform/chrome/cros_ec_proto.c:686:26: note: Shadowed declaration
     struct cros_ec_command msg;
                            ^
   drivers/platform/chrome/cros_ec_proto.c:686:26: note: Shadow variable
     struct cros_ec_command msg;
                            ^
>> drivers/platform/chrome/cros_ec_proto.c:687:40: warning: Local variable 'event' shadows outer variable [shadowVariable]
     struct ec_response_get_next_event_v1 event;
                                          ^
   drivers/platform/chrome/cros_ec_proto.c:687:40: note: Shadowed declaration
     struct ec_response_get_next_event_v1 event;
                                          ^
   drivers/platform/chrome/cros_ec_proto.c:687:40: note: Shadow variable
     struct ec_response_get_next_event_v1 event;
                                          ^
>> drivers/platform/chrome/cros_ec.c:94:26: warning: Local variable 'msg' shadows outer variable [shadowVariable]
     struct cros_ec_command msg;
                            ^
   drivers/platform/chrome/cros_ec.c:94:26: note: Shadowed declaration
     struct cros_ec_command msg;
                            ^
   drivers/platform/chrome/cros_ec.c:94:26: note: Shadow variable
     struct cros_ec_command msg;
                            ^
>> drivers/platform/chrome/cros_ec.c:99:5: warning: Local variable 'u' shadows outer variable [shadowVariable]
     } u;
       ^
   drivers/platform/chrome/cros_ec.c:99:5: note: Shadowed declaration
     } u;
       ^
   drivers/platform/chrome/cros_ec.c:99:5: note: Shadow variable
     } u;
       ^
--
>> drivers/soc/qcom/smsm.c:356:2: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint]
    snprintf(key, sizeof(key), "qcom,ipc-%d", host_id);
    ^
--

cppcheck possible warnings: (new ones prefixed by >>, may not real problems)

>> drivers/platform/chrome/cros_ec_proto.c:664:49: warning: Parameter 'event' can be declared with const [constParameter]
             struct ec_response_get_next_event_v1 *event,
                                                   ^
--
>> drivers/pci/controller/dwc/pcie-designware-host.c:598:27: warning: Possible null pointer dereference: entry [nullPointer]
          PCIE_ATU_TYPE_MEM, entry->res->start,
                             ^
   drivers/pci/controller/dwc/pcie-designware-host.c:590:40: note: Assignment 'entry=NULL', assigned value is 0
     struct resource_entry *tmp, *entry = NULL;
                                          ^
   drivers/pci/controller/dwc/pcie-designware-host.c:594:32: note: Assuming condition is false
      if (resource_type(tmp->res) == IORESOURCE_MEM)
                                  ^
   drivers/pci/controller/dwc/pcie-designware-host.c:598:27: note: Null pointer dereference
          PCIE_ATU_TYPE_MEM, entry->res->start,
                             ^
   drivers/pci/controller/dwc/pcie-designware-host.c:599:8: warning: Possible null pointer dereference: entry [nullPointer]
          entry->res->start - entry->offset,
          ^
   drivers/pci/controller/dwc/pcie-designware-host.c:590:40: note: Assignment 'entry=NULL', assigned value is 0
     struct resource_entry *tmp, *entry = NULL;
                                          ^
   drivers/pci/controller/dwc/pcie-designware-host.c:594:32: note: Assuming condition is false
      if (resource_type(tmp->res) == IORESOURCE_MEM)
                                  ^
   drivers/pci/controller/dwc/pcie-designware-host.c:599:8: note: Null pointer dereference
          entry->res->start - entry->offset,
          ^
   drivers/pci/controller/dwc/pcie-designware-host.c:600:22: warning: Possible null pointer dereference: entry [nullPointer]
          resource_size(entry->res));
                        ^
   drivers/pci/controller/dwc/pcie-designware-host.c:590:40: note: Assignment 'entry=NULL', assigned value is 0
     struct resource_entry *tmp, *entry = NULL;
                                          ^
   drivers/pci/controller/dwc/pcie-designware-host.c:594:32: note: Assuming condition is false
      if (resource_type(tmp->res) == IORESOURCE_MEM)
                                  ^
   drivers/pci/controller/dwc/pcie-designware-host.c:600:22: note: Null pointer dereference
          resource_size(entry->res));
                        ^
>> drivers/i2c/busses/i2c-npcm7xx.c:1749:10: warning: Redundant initialization for 'status'. The initialized value is overwritten before it is read. [redundantInitialization]
     status = 0;
            ^
   drivers/i2c/busses/i2c-npcm7xx.c:1686:26: note: status is initialized
    int              status = -ENOTRECOVERABLE;
                            ^
   drivers/i2c/busses/i2c-npcm7xx.c:1749:10: note: status is overwritten
     status = 0;
            ^

vim +/status +1749 drivers/i2c/busses/i2c-npcm7xx.c

56a1485b102ed1 Tali Perry 2020-05-27  1679  
56a1485b102ed1 Tali Perry 2020-05-27  1680  /* recovery using TGCLK functionality of the module */
56a1485b102ed1 Tali Perry 2020-05-27  1681  static int npcm_i2c_recovery_tgclk(struct i2c_adapter *_adap)
56a1485b102ed1 Tali Perry 2020-05-27  1682  {
56a1485b102ed1 Tali Perry 2020-05-27  1683  	u8               val;
56a1485b102ed1 Tali Perry 2020-05-27  1684  	u8               fif_cts;
56a1485b102ed1 Tali Perry 2020-05-27  1685  	bool             done = false;
56a1485b102ed1 Tali Perry 2020-05-27  1686  	int              status = -ENOTRECOVERABLE;
56a1485b102ed1 Tali Perry 2020-05-27  1687  	struct npcm_i2c *bus = container_of(_adap, struct npcm_i2c, adap);
56a1485b102ed1 Tali Perry 2020-05-27  1688  	/* Allow 3 bytes (27 toggles) to be read from the slave: */
56a1485b102ed1 Tali Perry 2020-05-27  1689  	int              iter = 27;
56a1485b102ed1 Tali Perry 2020-05-27  1690  
56a1485b102ed1 Tali Perry 2020-05-27  1691  	if ((npcm_i2c_get_SDA(_adap) == 1) && (npcm_i2c_get_SCL(_adap) == 1)) {
c009b2220e5634 Tali Perry 2022-05-17  1692  		dev_dbg(bus->dev, "bus%d-0x%x recovery skipped, bus not stuck",
c009b2220e5634 Tali Perry 2022-05-17  1693  			bus->num, bus->dest_addr);
56a1485b102ed1 Tali Perry 2020-05-27  1694  		npcm_i2c_reset(bus);
c009b2220e5634 Tali Perry 2022-05-17  1695  		return 0;
56a1485b102ed1 Tali Perry 2020-05-27  1696  	}
56a1485b102ed1 Tali Perry 2020-05-27  1697  
56a1485b102ed1 Tali Perry 2020-05-27  1698  	npcm_i2c_int_enable(bus, false);
56a1485b102ed1 Tali Perry 2020-05-27  1699  	npcm_i2c_disable(bus);
56a1485b102ed1 Tali Perry 2020-05-27  1700  	npcm_i2c_enable(bus);
56a1485b102ed1 Tali Perry 2020-05-27  1701  	iowrite8(NPCM_I2CCST_BB, bus->reg + NPCM_I2CCST);
56a1485b102ed1 Tali Perry 2020-05-27  1702  	npcm_i2c_clear_tx_fifo(bus);
56a1485b102ed1 Tali Perry 2020-05-27  1703  	npcm_i2c_clear_rx_fifo(bus);
56a1485b102ed1 Tali Perry 2020-05-27  1704  	iowrite8(0, bus->reg + NPCM_I2CRXF_CTL);
56a1485b102ed1 Tali Perry 2020-05-27  1705  	iowrite8(0, bus->reg + NPCM_I2CTXF_CTL);
56a1485b102ed1 Tali Perry 2020-05-27  1706  	npcm_i2c_stall_after_start(bus, false);
56a1485b102ed1 Tali Perry 2020-05-27  1707  
56a1485b102ed1 Tali Perry 2020-05-27  1708  	/* select bank 1 for FIFO regs */
56a1485b102ed1 Tali Perry 2020-05-27  1709  	npcm_i2c_select_bank(bus, I2C_BANK_1);
56a1485b102ed1 Tali Perry 2020-05-27  1710  
56a1485b102ed1 Tali Perry 2020-05-27  1711  	/* clear FIFO and relevant status bits. */
56a1485b102ed1 Tali Perry 2020-05-27  1712  	fif_cts = ioread8(bus->reg + NPCM_I2CFIF_CTS);
56a1485b102ed1 Tali Perry 2020-05-27  1713  	fif_cts &= ~NPCM_I2CFIF_CTS_SLVRSTR;
56a1485b102ed1 Tali Perry 2020-05-27  1714  	fif_cts |= NPCM_I2CFIF_CTS_CLR_FIFO;
56a1485b102ed1 Tali Perry 2020-05-27  1715  	iowrite8(fif_cts, bus->reg + NPCM_I2CFIF_CTS);
56a1485b102ed1 Tali Perry 2020-05-27  1716  	npcm_i2c_set_fifo(bus, -1, 0);
56a1485b102ed1 Tali Perry 2020-05-27  1717  
56a1485b102ed1 Tali Perry 2020-05-27  1718  	/* Repeat the following sequence until SDA is released */
56a1485b102ed1 Tali Perry 2020-05-27  1719  	do {
56a1485b102ed1 Tali Perry 2020-05-27  1720  		/* Issue a single SCL toggle */
56a1485b102ed1 Tali Perry 2020-05-27  1721  		iowrite8(NPCM_I2CCST_TGSCL, bus->reg + NPCM_I2CCST);
56a1485b102ed1 Tali Perry 2020-05-27  1722  		usleep_range(20, 30);
56a1485b102ed1 Tali Perry 2020-05-27  1723  		/* If SDA line is inactive (high), stop */
56a1485b102ed1 Tali Perry 2020-05-27  1724  		if (npcm_i2c_get_SDA(_adap)) {
56a1485b102ed1 Tali Perry 2020-05-27  1725  			done = true;
56a1485b102ed1 Tali Perry 2020-05-27  1726  			status = 0;
56a1485b102ed1 Tali Perry 2020-05-27  1727  		}
56a1485b102ed1 Tali Perry 2020-05-27  1728  	} while (!done && iter--);
56a1485b102ed1 Tali Perry 2020-05-27  1729  
56a1485b102ed1 Tali Perry 2020-05-27  1730  	/* If SDA line is released: send start-addr-stop, to re-sync. */
56a1485b102ed1 Tali Perry 2020-05-27  1731  	if (npcm_i2c_get_SDA(_adap)) {
56a1485b102ed1 Tali Perry 2020-05-27  1732  		/* Send an address byte in write direction: */
56a1485b102ed1 Tali Perry 2020-05-27  1733  		npcm_i2c_wr_byte(bus, bus->dest_addr);
56a1485b102ed1 Tali Perry 2020-05-27  1734  		npcm_i2c_master_start(bus);
56a1485b102ed1 Tali Perry 2020-05-27  1735  		/* Wait until START condition is sent */
56a1485b102ed1 Tali Perry 2020-05-27  1736  		status = readx_poll_timeout(npcm_i2c_get_SCL, _adap, val, !val,
56a1485b102ed1 Tali Perry 2020-05-27  1737  					    20, 200);
56a1485b102ed1 Tali Perry 2020-05-27  1738  		/* If START condition was sent */
56a1485b102ed1 Tali Perry 2020-05-27  1739  		if (npcm_i2c_is_master(bus) > 0) {
56a1485b102ed1 Tali Perry 2020-05-27  1740  			usleep_range(20, 30);
56a1485b102ed1 Tali Perry 2020-05-27  1741  			npcm_i2c_master_stop(bus);
56a1485b102ed1 Tali Perry 2020-05-27  1742  			usleep_range(200, 500);
56a1485b102ed1 Tali Perry 2020-05-27  1743  		}
56a1485b102ed1 Tali Perry 2020-05-27  1744  	}
56a1485b102ed1 Tali Perry 2020-05-27  1745  	npcm_i2c_reset(bus);
56a1485b102ed1 Tali Perry 2020-05-27  1746  	npcm_i2c_int_enable(bus, true);
56a1485b102ed1 Tali Perry 2020-05-27  1747  
56a1485b102ed1 Tali Perry 2020-05-27  1748  	if ((npcm_i2c_get_SDA(_adap) == 1) && (npcm_i2c_get_SCL(_adap) == 1))
56a1485b102ed1 Tali Perry 2020-05-27 @1749  		status = 0;
56a1485b102ed1 Tali Perry 2020-05-27  1750  	else
56a1485b102ed1 Tali Perry 2020-05-27  1751  		status = -ENOTRECOVERABLE;
56a1485b102ed1 Tali Perry 2020-05-27  1752  	if (status) {
56a1485b102ed1 Tali Perry 2020-05-27  1753  		if (bus->rec_fail_cnt < ULLONG_MAX)
56a1485b102ed1 Tali Perry 2020-05-27  1754  			bus->rec_fail_cnt++;
56a1485b102ed1 Tali Perry 2020-05-27  1755  	} else {
56a1485b102ed1 Tali Perry 2020-05-27  1756  		if (bus->rec_succ_cnt < ULLONG_MAX)
56a1485b102ed1 Tali Perry 2020-05-27  1757  			bus->rec_succ_cnt++;
56a1485b102ed1 Tali Perry 2020-05-27  1758  	}
56a1485b102ed1 Tali Perry 2020-05-27  1759  	return status;
56a1485b102ed1 Tali Perry 2020-05-27  1760  }
56a1485b102ed1 Tali Perry 2020-05-27  1761  

:::::: The code at line 1749 was first introduced by commit
:::::: 56a1485b102ed1cd5a4af8e87ed794699fd1cad2 i2c: npcm7xx: Add Nuvoton NPCM I2C controller driver

:::::: TO: Tali Perry <tali.perry1@gmail.com>
:::::: CC: Wolfram Sang <wsa@kernel.org>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-06-08  5:31 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-08  5:31 [sashal-stable:pending-5.10 370/373] drivers/i2c/busses/i2c-npcm7xx.c:1749:10: warning: Redundant initialization for 'status'. The initialized value is overwritten before it is read. [redundantInitialization] kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.