Re: [PATCH net-next v3 2/2] net: stmmac: add support for phy-supply

From: kernel test robot
Date: Fri Jul 21 2023 - 16:31:33 EST


Hi Marco,

kernel test robot noticed the following build errors:

[auto build test ERROR on net-next/main]

url: https://github.com/intel-lab-lkp/linux/commits/Marco-Felsch/net-stmmac-add-support-for-phy-supply/20230720-152642
base: net-next/main
patch link: https://lore.kernel.org/r/20230720072304.3358701-2-m.felsch%40pengutronix.de
patch subject: [PATCH net-next v3 2/2] net: stmmac: add support for phy-supply
config: x86_64-kexec (https://download.01.org/0day-ci/archive/20230722/202307220459.2gaQtSqH-lkp@xxxxxxxxx/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce: (https://download.01.org/0day-ci/archive/20230722/202307220459.2gaQtSqH-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202307220459.2gaQtSqH-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

drivers/net/ethernet/stmicro/stmmac/stmmac_main.c: In function 'stmmac_suspend':
>> drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:7706:32: error: 'struct plat_stmmacenet_data' has no member named 'use_phy_wol'
7706 | if (!priv->plat->use_phy_wol)
| ^~
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c: In function 'stmmac_resume':
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:7790:32: error: 'struct plat_stmmacenet_data' has no member named 'use_phy_wol'
7790 | if (!priv->plat->use_phy_wol)
| ^~


vim +7706 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c

7651
7652 /**
7653 * stmmac_suspend - suspend callback
7654 * @dev: device pointer
7655 * Description: this is the function to suspend the device and it is called
7656 * by the platform driver to stop the network queue, release the resources,
7657 * program the PMT register (for WoL), clean and release driver resources.
7658 */
7659 int stmmac_suspend(struct device *dev)
7660 {
7661 struct net_device *ndev = dev_get_drvdata(dev);
7662 struct stmmac_priv *priv = netdev_priv(ndev);
7663 u32 chan;
7664
7665 if (!ndev || !netif_running(ndev))
7666 return 0;
7667
7668 mutex_lock(&priv->lock);
7669
7670 netif_device_detach(ndev);
7671
7672 stmmac_disable_all_queues(priv);
7673
7674 for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
7675 hrtimer_cancel(&priv->dma_conf.tx_queue[chan].txtimer);
7676
7677 if (priv->eee_enabled) {
7678 priv->tx_path_in_lpi_mode = false;
7679 del_timer_sync(&priv->eee_ctrl_timer);
7680 }
7681
7682 /* Stop TX/RX DMA */
7683 stmmac_stop_all_dma(priv);
7684
7685 if (priv->plat->serdes_powerdown)
7686 priv->plat->serdes_powerdown(ndev, priv->plat->bsp_priv);
7687
7688 /* Enable Power down mode by programming the PMT regs */
7689 if (device_may_wakeup(priv->device) && priv->plat->pmt) {
7690 stmmac_pmt(priv, priv->hw, priv->wolopts);
7691 priv->irq_wake = 1;
7692 } else {
7693 stmmac_mac_set(priv, priv->ioaddr, false);
7694 pinctrl_pm_select_sleep_state(priv->device);
7695 }
7696
7697 mutex_unlock(&priv->lock);
7698
7699 rtnl_lock();
7700 if (device_may_wakeup(priv->device) && priv->plat->pmt) {
7701 phylink_suspend(priv->phylink, true);
7702 } else {
7703 if (device_may_wakeup(priv->device))
7704 phylink_speed_down(priv->phylink, false);
7705 phylink_suspend(priv->phylink, false);
> 7706 if (!priv->plat->use_phy_wol)
7707 stmmac_phy_power_off(priv);
7708 }
7709 rtnl_unlock();
7710
7711 if (priv->dma_cap.fpesel) {
7712 /* Disable FPE */
7713 stmmac_fpe_configure(priv, priv->ioaddr,
7714 priv->plat->tx_queues_to_use,
7715 priv->plat->rx_queues_to_use, false);
7716
7717 stmmac_fpe_handshake(priv, false);
7718 stmmac_fpe_stop_wq(priv);
7719 }
7720
7721 priv->speed = SPEED_UNKNOWN;
7722 return 0;
7723 }
7724 EXPORT_SYMBOL_GPL(stmmac_suspend);
7725

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki