Hi Divya, Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on net-next/master] url: https://github.com/0day-ci/linux/commits/Divya-Koppera/net-phy-mchp-Add-1588-support-for-LAN8814-Quad-PHY/20201215-020140 base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 13458ffe0a953e17587f172a8e5059c243e6850a config: powerpc-randconfig-r025-20201217 (attached as .config) compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project cee1e7d14f4628d6174b33640d502bff3b54ae45) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install powerpc cross compiling tool for clang build # apt-get install binutils-powerpc-linux-gnu # https://github.com/0day-ci/linux/commit/d92cad561db30d2e4d3e70352b2f715b5c775fe8 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Divya-Koppera/net-phy-mchp-Add-1588-support-for-LAN8814-Quad-PHY/20201215-020140 git checkout d92cad561db30d2e4d3e70352b2f715b5c775fe8 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <l...@intel.com> All warnings (new ones prefixed by >>): >> drivers/net/phy/micrel.c:1641:6: warning: variable 'rxcfg' is used >> uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] if (lan8814->hwts_rx_en && (lan8814->layer & PTP_CLASS_L2)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/phy/micrel.c:1657:66: note: uninitialized use occurs here lan8814_write_page_reg(lan8814->phydev, 5, PTP_RX_PARSE_CONFIG, rxcfg); ^~~~~ drivers/net/phy/micrel.c:1641:2: note: remove the 'if' if its condition is always true if (lan8814->hwts_rx_en && (lan8814->layer & PTP_CLASS_L2)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/net/phy/micrel.c:1641:6: warning: variable 'rxcfg' is used >> uninitialized whenever '&&' condition is false [-Wsometimes-uninitialized] if (lan8814->hwts_rx_en && (lan8814->layer & PTP_CLASS_L2)) ^~~~~~~~~~~~~~~~~~~ drivers/net/phy/micrel.c:1657:66: note: uninitialized use occurs here lan8814_write_page_reg(lan8814->phydev, 5, PTP_RX_PARSE_CONFIG, rxcfg); ^~~~~ drivers/net/phy/micrel.c:1641:6: note: remove the '&&' if its condition is always true if (lan8814->hwts_rx_en && (lan8814->layer & PTP_CLASS_L2)) ^~~~~~~~~~~~~~~~~~~~~~ drivers/net/phy/micrel.c:1597:18: note: initialize the variable 'rxcfg' to silence this warning int txcfg, rxcfg; ^ = 0 >> drivers/net/phy/micrel.c:1644:6: warning: variable 'txcfg' is used >> uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] if (lan8814->hwts_tx_en && (lan8814->layer & PTP_CLASS_L2)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/phy/micrel.c:1658:66: note: uninitialized use occurs here lan8814_write_page_reg(lan8814->phydev, 5, PTP_TX_PARSE_CONFIG, txcfg); ^~~~~ drivers/net/phy/micrel.c:1644:2: note: remove the 'if' if its condition is always true if (lan8814->hwts_tx_en && (lan8814->layer & PTP_CLASS_L2)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/net/phy/micrel.c:1644:6: warning: variable 'txcfg' is used >> uninitialized whenever '&&' condition is false [-Wsometimes-uninitialized] if (lan8814->hwts_tx_en && (lan8814->layer & PTP_CLASS_L2)) ^~~~~~~~~~~~~~~~~~~ drivers/net/phy/micrel.c:1658:66: note: uninitialized use occurs here lan8814_write_page_reg(lan8814->phydev, 5, PTP_TX_PARSE_CONFIG, txcfg); ^~~~~ drivers/net/phy/micrel.c:1644:6: note: remove the '&&' if its condition is always true if (lan8814->hwts_tx_en && (lan8814->layer & PTP_CLASS_L2)) ^~~~~~~~~~~~~~~~~~~~~~ drivers/net/phy/micrel.c:1597:11: note: initialize the variable 'txcfg' to silence this warning int txcfg, rxcfg; ^ = 0 4 warnings generated. vim +1641 drivers/net/phy/micrel.c 1592 1593 static int lan8814_hwtstamp(struct mii_timestamper *mii_ts, struct ifreq *ifr) 1594 { 1595 struct lan8814_priv *lan8814 = container_of(mii_ts, struct lan8814_priv, mii_ts); 1596 struct hwtstamp_config config; 1597 int txcfg, rxcfg; 1598 1599 if (copy_from_user(&config, ifr->ifr_data, sizeof(config))) 1600 return -EFAULT; 1601 1602 lan8814->hwts_tx_en = config.tx_type; 1603 1604 lan8814->ptp.rx_filter = config.rx_filter; 1605 lan8814->ptp.tx_type = config.tx_type; 1606 1607 switch (config.rx_filter) { 1608 case HWTSTAMP_FILTER_NONE: 1609 lan8814->hwts_rx_en = 0; 1610 lan8814->layer = 0; 1611 lan8814->version = 0; 1612 break; 1613 case HWTSTAMP_FILTER_PTP_V2_L4_EVENT: 1614 case HWTSTAMP_FILTER_PTP_V2_L4_SYNC: 1615 case HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ: 1616 lan8814->hwts_rx_en = 1; 1617 lan8814->layer = PTP_CLASS_L4; 1618 lan8814->version = PTP_CLASS_V2; 1619 break; 1620 case HWTSTAMP_FILTER_PTP_V2_L2_EVENT: 1621 case HWTSTAMP_FILTER_PTP_V2_L2_SYNC: 1622 case HWTSTAMP_FILTER_PTP_V2_L2_DELAY_REQ: 1623 lan8814->hwts_rx_en = 1; 1624 lan8814->layer = PTP_CLASS_L2; 1625 lan8814->version = PTP_CLASS_V2; 1626 break; 1627 case HWTSTAMP_FILTER_PTP_V2_EVENT: 1628 case HWTSTAMP_FILTER_PTP_V2_SYNC: 1629 case HWTSTAMP_FILTER_PTP_V2_DELAY_REQ: 1630 lan8814->hwts_rx_en = 1; 1631 lan8814->layer = PTP_CLASS_L4 | PTP_CLASS_L2; 1632 lan8814->version = PTP_CLASS_V2; 1633 break; 1634 default: 1635 return -ERANGE; 1636 } 1637 1638 lan8814_write_page_reg(lan8814->phydev, 5, PTP_RX_PARSE_CONFIG, 0); 1639 lan8814_write_page_reg(lan8814->phydev, 5, PTP_TX_PARSE_CONFIG, 0); 1640 > 1641 if (lan8814->hwts_rx_en && (lan8814->layer & PTP_CLASS_L2)) 1642 rxcfg = PTP_RX_PARSE_CONFIG_LAYER2_EN_; 1643 > 1644 if (lan8814->hwts_tx_en && (lan8814->layer & PTP_CLASS_L2)) 1645 txcfg = PTP_TX_PARSE_CONFIG_LAYER2_EN_; 1646 1647 if (lan8814->hwts_rx_en && (lan8814->layer & PTP_CLASS_L4)) 1648 rxcfg |= PTP_RX_PARSE_CONFIG_IPV4_EN_; 1649 1650 if (lan8814->hwts_tx_en && (lan8814->layer & PTP_CLASS_L4)) 1651 txcfg |= PTP_TX_PARSE_CONFIG_IPV4_EN_; 1652 1653 if (lan8814_ptp_is_enable(lan8814->phydev)) 1654 lan8814_write_page_reg(lan8814->phydev, 4, PTP_CMD_CTL, 1655 PTP_CMD_CTL_PTP_DISABLE_); 1656 1657 lan8814_write_page_reg(lan8814->phydev, 5, PTP_RX_PARSE_CONFIG, rxcfg); 1658 lan8814_write_page_reg(lan8814->phydev, 5, PTP_TX_PARSE_CONFIG, txcfg); 1659 lan8814_write_page_reg(lan8814->phydev, 5, PTP_RX_TIMESTAMP_EN, 0x3); 1660 lan8814_write_page_reg(lan8814->phydev, 5, PTP_TX_TIMESTAMP_EN, 0x3); 1661 lan8814_write_page_reg(lan8814->phydev, 5, PTP_TX_PARSE_L2_ADDR_EN, 0); 1662 lan8814_write_page_reg(lan8814->phydev, 5, PTP_RX_PARSE_L2_ADDR_EN, 0); 1663 1664 lan8814_write_page_reg(lan8814->phydev, 4, PTP_CMD_CTL, PTP_CMD_CTL_PTP_ENABLE_); 1665 if (lan8814->hwts_tx_en == HWTSTAMP_TX_ONESTEP_SYNC) { 1666 lan8814_write_page_reg(lan8814->phydev, 5, PTP_TX_MOD, 1667 PTP_TX_MOD_TX_PTP_SYNC_TS_INSERT_); 1668 } else if (lan8814->hwts_tx_en == HWTSTAMP_TX_ON) { 1669 /* Enabling 2 step offloading and all option for TS insertion/correction fields */ 1670 lan8814_write_page_reg(lan8814->phydev, 5, PTP_TX_MOD, 0x800); 1671 lan8814_config_ts_intr(lan8814->phydev); 1672 } 1673 1674 return copy_to_user(ifr->ifr_data, &config, sizeof(config)) ? -EFAULT : 0; 1675 } 1676 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
.config.gz
Description: application/gzip