Re: [PATCH net-next 11/13] net: phy: Only rely on phy_port for PHY-driven SFP

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

 



Hi Maxime,

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/Maxime-Chevallier/net-ethtool-Introduce-ETHTOOL_LINK_MEDIUM_-values/20250208-064223
base:   net-next/main
patch link:    https://lore.kernel.org/r/20250207223634.600218-12-maxime.chevallier%40bootlin.com
patch subject: [PATCH net-next 11/13] net: phy: Only rely on phy_port for PHY-driven SFP
config: i386-buildonly-randconfig-005-20250208 (https://download.01.org/0day-ci/archive/20250208/202502082347.tFufJ529-lkp@xxxxxxxxx/config)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250208/202502082347.tFufJ529-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/202502082347.tFufJ529-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

>> drivers/net/phy/qcom/qca807x.c:698:12: error: use of undeclared identifier 'phy_sfp_attach'; did you mean 'phy_attach'?
     698 |         .attach = phy_sfp_attach,
         |                   ^~~~~~~~~~~~~~
         |                   phy_attach
   include/linux/phy.h:1912:20: note: 'phy_attach' declared here
    1912 | struct phy_device *phy_attach(struct net_device *dev, const char *bus_id,
         |                    ^
>> drivers/net/phy/qcom/qca807x.c:699:12: error: use of undeclared identifier 'phy_sfp_detach'; did you mean 'phy_detach'?
     699 |         .detach = phy_sfp_detach,
         |                   ^~~~~~~~~~~~~~
         |                   phy_detach
   include/linux/phy.h:1924:6: note: 'phy_detach' declared here
    1924 | void phy_detach(struct phy_device *phydev);
         |      ^
>> drivers/net/phy/qcom/qca807x.c:702:17: error: use of undeclared identifier 'phy_sfp_connect_phy'
     702 |         .connect_phy = phy_sfp_connect_phy,
         |                        ^
>> drivers/net/phy/qcom/qca807x.c:703:20: error: use of undeclared identifier 'phy_sfp_disconnect_phy'
     703 |         .disconnect_phy = phy_sfp_disconnect_phy,
         |                           ^
>> drivers/net/phy/qcom/qca807x.c:748:9: error: call to undeclared function 'phy_sfp_probe'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     748 |                 ret = phy_sfp_probe(phydev, &qca807x_sfp_ops);
         |                       ^
   5 errors generated.


vim +698 drivers/net/phy/qcom/qca807x.c

d1cb613efbd3cd Robert Marko      2024-02-06  696  
d1cb613efbd3cd Robert Marko      2024-02-06  697  static const struct sfp_upstream_ops qca807x_sfp_ops = {
d1cb613efbd3cd Robert Marko      2024-02-06 @698  	.attach = phy_sfp_attach,
d1cb613efbd3cd Robert Marko      2024-02-06 @699  	.detach = phy_sfp_detach,
d1cb613efbd3cd Robert Marko      2024-02-06  700  	.module_insert = qca807x_sfp_insert,
d1cb613efbd3cd Robert Marko      2024-02-06  701  	.module_remove = qca807x_sfp_remove,
b2db6f4ace72e7 Maxime Chevallier 2024-08-21 @702  	.connect_phy = phy_sfp_connect_phy,
b2db6f4ace72e7 Maxime Chevallier 2024-08-21 @703  	.disconnect_phy = phy_sfp_disconnect_phy,
d1cb613efbd3cd Robert Marko      2024-02-06  704  };
d1cb613efbd3cd Robert Marko      2024-02-06  705  
d1cb613efbd3cd Robert Marko      2024-02-06  706  static int qca807x_probe(struct phy_device *phydev)
d1cb613efbd3cd Robert Marko      2024-02-06  707  {
d1cb613efbd3cd Robert Marko      2024-02-06  708  	struct device_node *node = phydev->mdio.dev.of_node;
d1cb613efbd3cd Robert Marko      2024-02-06  709  	struct qca807x_shared_priv *shared_priv;
d1cb613efbd3cd Robert Marko      2024-02-06  710  	struct device *dev = &phydev->mdio.dev;
d1cb613efbd3cd Robert Marko      2024-02-06  711  	struct phy_package_shared *shared;
d1cb613efbd3cd Robert Marko      2024-02-06  712  	struct qca807x_priv *priv;
d1cb613efbd3cd Robert Marko      2024-02-06  713  	int ret;
d1cb613efbd3cd Robert Marko      2024-02-06  714  
d1cb613efbd3cd Robert Marko      2024-02-06  715  	ret = devm_of_phy_package_join(dev, phydev, sizeof(*shared_priv));
d1cb613efbd3cd Robert Marko      2024-02-06  716  	if (ret)
d1cb613efbd3cd Robert Marko      2024-02-06  717  		return ret;
d1cb613efbd3cd Robert Marko      2024-02-06  718  
d1cb613efbd3cd Robert Marko      2024-02-06  719  	if (phy_package_probe_once(phydev)) {
d1cb613efbd3cd Robert Marko      2024-02-06  720  		ret = qca807x_phy_package_probe_once(phydev);
d1cb613efbd3cd Robert Marko      2024-02-06  721  		if (ret)
d1cb613efbd3cd Robert Marko      2024-02-06  722  			return ret;
d1cb613efbd3cd Robert Marko      2024-02-06  723  	}
d1cb613efbd3cd Robert Marko      2024-02-06  724  
d1cb613efbd3cd Robert Marko      2024-02-06  725  	shared = phydev->shared;
d1cb613efbd3cd Robert Marko      2024-02-06  726  	shared_priv = shared->priv;
d1cb613efbd3cd Robert Marko      2024-02-06  727  
d1cb613efbd3cd Robert Marko      2024-02-06  728  	priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
d1cb613efbd3cd Robert Marko      2024-02-06  729  	if (!priv)
d1cb613efbd3cd Robert Marko      2024-02-06  730  		return -ENOMEM;
d1cb613efbd3cd Robert Marko      2024-02-06  731  
d1cb613efbd3cd Robert Marko      2024-02-06  732  	priv->dac_full_amplitude = of_property_read_bool(node, "qcom,dac-full-amplitude");
d1cb613efbd3cd Robert Marko      2024-02-06  733  	priv->dac_full_bias_current = of_property_read_bool(node, "qcom,dac-full-bias-current");
d1cb613efbd3cd Robert Marko      2024-02-06  734  	priv->dac_disable_bias_current_tweak = of_property_read_bool(node,
d1cb613efbd3cd Robert Marko      2024-02-06  735  								     "qcom,dac-disable-bias-current-tweak");
d1cb613efbd3cd Robert Marko      2024-02-06  736  
1677293ed89166 Robert Marko      2024-03-05  737  #if IS_ENABLED(CONFIG_GPIOLIB)
d1cb613efbd3cd Robert Marko      2024-02-06  738  	/* Do not register a GPIO controller unless flagged for it */
d1cb613efbd3cd Robert Marko      2024-02-06  739  	if (of_property_read_bool(node, "gpio-controller")) {
d1cb613efbd3cd Robert Marko      2024-02-06  740  		ret = qca807x_gpio(phydev);
d1cb613efbd3cd Robert Marko      2024-02-06  741  		if (ret)
d1cb613efbd3cd Robert Marko      2024-02-06  742  			return ret;
d1cb613efbd3cd Robert Marko      2024-02-06  743  	}
1677293ed89166 Robert Marko      2024-03-05  744  #endif
d1cb613efbd3cd Robert Marko      2024-02-06  745  
d1cb613efbd3cd Robert Marko      2024-02-06  746  	/* Attach SFP bus on combo port*/
d1cb613efbd3cd Robert Marko      2024-02-06  747  	if (phy_read(phydev, QCA807X_CHIP_CONFIGURATION)) {
d1cb613efbd3cd Robert Marko      2024-02-06 @748  		ret = phy_sfp_probe(phydev, &qca807x_sfp_ops);
d1cb613efbd3cd Robert Marko      2024-02-06  749  		if (ret)
d1cb613efbd3cd Robert Marko      2024-02-06  750  			return ret;
d1cb613efbd3cd Robert Marko      2024-02-06  751  		linkmode_set_bit(ETHTOOL_LINK_MODE_FIBRE_BIT, phydev->supported);
d1cb613efbd3cd Robert Marko      2024-02-06  752  		linkmode_set_bit(ETHTOOL_LINK_MODE_FIBRE_BIT, phydev->advertising);
d1cb613efbd3cd Robert Marko      2024-02-06  753  	}
d1cb613efbd3cd Robert Marko      2024-02-06  754  
d1cb613efbd3cd Robert Marko      2024-02-06  755  	phydev->priv = priv;
d1cb613efbd3cd Robert Marko      2024-02-06  756  
d1cb613efbd3cd Robert Marko      2024-02-06  757  	return 0;
d1cb613efbd3cd Robert Marko      2024-02-06  758  }
d1cb613efbd3cd Robert Marko      2024-02-06  759  

-- 
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]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux