[linux-next:master 11985/13109] drivers/net/ethernet/wangxun/ngbe/ngbe_main.c:339:undefined reference to `phylink_stop'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   8cb47d7cd090a690c1785385b2f3d407d4a53ad0
commit: bc2426d74aa35cd8ec9c97a253ef57c2c5cd730c [11985/13109] net: ngbe: convert phylib to phylink
config: arm64-randconfig-r003-20221211 (https://download.01.org/0day-ci/archive/20240111/202401110606.hnUEDCxw-lkp@xxxxxxxxx/config)
compiler: aarch64-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240111/202401110606.hnUEDCxw-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/202401110606.hnUEDCxw-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

   aarch64-linux-ld: Unexpected GOT/PLT entries detected!
   aarch64-linux-ld: Unexpected run-time procedure linkages detected!
   aarch64-linux-ld: drivers/net/ethernet/wangxun/libwx/wx_ethtool.o: in function `wx_nway_reset':
   drivers/net/ethernet/wangxun/libwx/wx_ethtool.c:193:(.text+0x560): undefined reference to `phylink_ethtool_nway_reset'
   aarch64-linux-ld: drivers/net/ethernet/wangxun/libwx/wx_ethtool.o: in function `wx_get_link_ksettings':
   drivers/net/ethernet/wangxun/libwx/wx_ethtool.c:202:(.text+0x5a0): undefined reference to `phylink_ethtool_ksettings_get'
   aarch64-linux-ld: drivers/net/ethernet/wangxun/libwx/wx_ethtool.o: in function `wx_set_link_ksettings':
   drivers/net/ethernet/wangxun/libwx/wx_ethtool.c:211:(.text+0x5e0): undefined reference to `phylink_ethtool_ksettings_set'
   aarch64-linux-ld: drivers/net/ethernet/wangxun/ngbe/ngbe_main.o: in function `ngbe_close':
>> drivers/net/ethernet/wangxun/ngbe/ngbe_main.c:339:(.text+0x26c): undefined reference to `phylink_stop'
>> aarch64-linux-ld: drivers/net/ethernet/wangxun/ngbe/ngbe_main.c:433:(.text+0x29c): undefined reference to `phylink_disconnect_phy'
   aarch64-linux-ld: drivers/net/ethernet/wangxun/ngbe/ngbe_main.o: in function `ngbe_remove':
>> drivers/net/ethernet/wangxun/ngbe/ngbe_main.c:714:(.text+0x374): undefined reference to `phylink_destroy'
   aarch64-linux-ld: drivers/net/ethernet/wangxun/ngbe/ngbe_main.o: in function `ngbe_probe':
   drivers/net/ethernet/wangxun/ngbe/ngbe_main.c:684:(.text+0xe5c): undefined reference to `phylink_destroy'
   aarch64-linux-ld: drivers/net/ethernet/wangxun/ngbe/ngbe_main.o: in function `ngbe_open':
>> drivers/net/ethernet/wangxun/ngbe/ngbe_main.c:391:(.text+0x1098): undefined reference to `phylink_connect_phy'
   aarch64-linux-ld: drivers/net/ethernet/wangxun/ngbe/ngbe_main.c:362:(.text+0x1250): undefined reference to `phylink_start'
   aarch64-linux-ld: drivers/net/ethernet/wangxun/ngbe/ngbe_main.c:407:(.text+0x1260): undefined reference to `phylink_disconnect_phy'
   aarch64-linux-ld: drivers/net/ethernet/wangxun/ngbe/ngbe_mdio.o: in function `ngbe_mdio_init':
   drivers/net/ethernet/wangxun/ngbe/ngbe_mdio.c:128:(.text+0x4f4): undefined reference to `phylink_create'


vim +339 drivers/net/ethernet/wangxun/ngbe/ngbe_main.c

   336	
   337	static void ngbe_down(struct wx *wx)
   338	{
 > 339		phylink_stop(wx->phylink);
   340		ngbe_disable_device(wx);
   341		wx_clean_all_tx_rings(wx);
   342		wx_clean_all_rx_rings(wx);
   343	}
   344	
   345	static void ngbe_up(struct wx *wx)
   346	{
   347		wx_configure_vectors(wx);
   348	
   349		/* make sure to complete pre-operations */
   350		smp_mb__before_atomic();
   351		wx_napi_enable_all(wx);
   352		/* enable transmits */
   353		netif_tx_start_all_queues(wx->netdev);
   354	
   355		/* clear any pending interrupts, may auto mask */
   356		rd32(wx, WX_PX_IC(0));
   357		rd32(wx, WX_PX_MISC_IC);
   358		ngbe_irq_enable(wx, true);
   359		if (wx->gpio_ctrl)
   360			ngbe_sfp_modules_txrx_powerctl(wx, true);
   361	
   362		phylink_start(wx->phylink);
   363	}
   364	
   365	/**
   366	 * ngbe_open - Called when a network interface is made active
   367	 * @netdev: network interface device structure
   368	 *
   369	 * Returns 0 on success, negative value on failure
   370	 *
   371	 * The open entry point is called when a network interface is made
   372	 * active by the system (IFF_UP).
   373	 **/
   374	static int ngbe_open(struct net_device *netdev)
   375	{
   376		struct wx *wx = netdev_priv(netdev);
   377		int err;
   378	
   379		wx_control_hw(wx, true);
   380	
   381		err = wx_setup_resources(wx);
   382		if (err)
   383			return err;
   384	
   385		wx_configure(wx);
   386	
   387		err = ngbe_request_irq(wx);
   388		if (err)
   389			goto err_free_resources;
   390	
 > 391		err = phylink_connect_phy(wx->phylink, wx->phydev);
   392		if (err)
   393			goto err_free_irq;
   394	
   395		err = netif_set_real_num_tx_queues(netdev, wx->num_tx_queues);
   396		if (err)
   397			goto err_dis_phy;
   398	
   399		err = netif_set_real_num_rx_queues(netdev, wx->num_rx_queues);
   400		if (err)
   401			goto err_dis_phy;
   402	
   403		ngbe_up(wx);
   404	
   405		return 0;
   406	err_dis_phy:
   407		phylink_disconnect_phy(wx->phylink);
   408	err_free_irq:
   409		wx_free_irq(wx);
   410	err_free_resources:
   411		wx_free_resources(wx);
   412		return err;
   413	}
   414	
   415	/**
   416	 * ngbe_close - Disables a network interface
   417	 * @netdev: network interface device structure
   418	 *
   419	 * Returns 0, this is not allowed to fail
   420	 *
   421	 * The close entry point is called when an interface is de-activated
   422	 * by the OS.  The hardware is still under the drivers control, but
   423	 * needs to be disabled.  A global MAC reset is issued to stop the
   424	 * hardware, and all transmit and receive resources are freed.
   425	 **/
   426	static int ngbe_close(struct net_device *netdev)
   427	{
   428		struct wx *wx = netdev_priv(netdev);
   429	
   430		ngbe_down(wx);
   431		wx_free_irq(wx);
   432		wx_free_resources(wx);
 > 433		phylink_disconnect_phy(wx->phylink);
   434		wx_control_hw(wx, false);
   435	
   436		return 0;
   437	}
   438	

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




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux