Building the Linux kernel with Clang and LLVM
 help / color / mirror / Atom feed
* Re: [PATCH net-next 11/13] net: phy: Only rely on phy_port for PHY-driven SFP
       [not found] <20250207223634.600218-12-maxime.chevallier@bootlin.com>
@ 2025-02-08 16:04 ` kernel test robot
  2025-02-11  9:17   ` Maxime Chevallier
  0 siblings, 1 reply; 2+ messages in thread
From: kernel test robot @ 2025-02-08 16:04 UTC (permalink / raw)
  To: Maxime Chevallier, davem
  Cc: llvm, oe-kbuild-all, Maxime Chevallier, netdev, linux-kernel,
	linux-arm-msm, thomas.petazzoni, Andrew Lunn, Jakub Kicinski,
	Eric Dumazet, Paolo Abeni, Russell King, linux-arm-kernel,
	Christophe Leroy, Herve Codina, Florian Fainelli, Heiner Kallweit,
	Vladimir Oltean, Köry Maincent, Marek Behún,
	Oleksij Rempel, Nicolò Veronese, Simon Horman, mwojtas,
	Antoine Tenart, devicetree, Conor Dooley, Krzysztof Kozlowski,
	Rob Herring, Romain Gantois

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@intel.com/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@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202502082347.tFufJ529-lkp@intel.com/

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH net-next 11/13] net: phy: Only rely on phy_port for PHY-driven SFP
  2025-02-08 16:04 ` [PATCH net-next 11/13] net: phy: Only rely on phy_port for PHY-driven SFP kernel test robot
@ 2025-02-11  9:17   ` Maxime Chevallier
  0 siblings, 0 replies; 2+ messages in thread
From: Maxime Chevallier @ 2025-02-11  9:17 UTC (permalink / raw)
  To: kernel test robot
  Cc: davem, llvm, oe-kbuild-all, netdev, linux-kernel, linux-arm-msm,
	thomas.petazzoni, Andrew Lunn, Jakub Kicinski, Eric Dumazet,
	Paolo Abeni, Russell King, linux-arm-kernel, Christophe Leroy,
	Herve Codina, Florian Fainelli, Heiner Kallweit, Vladimir Oltean,
	Köry Maincent, Marek Behún, Oleksij Rempel,
	Nicolò Veronese, Simon Horman, mwojtas, Antoine Tenart,
	devicetree, Conor Dooley, Krzysztof Kozlowski, Rob Herring,
	Romain Gantois, Robert Marko

Hi,

On Sun, 9 Feb 2025 00:04:55 +0800
kernel test robot <lkp@intel.com> wrote:

> 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@intel.com/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@intel.com/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@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202502082347.tFufJ529-lkp@intel.com/
> 
> 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.

Ah damned, I missed that qca807x now also supports SFP. I'll include a
conversion fr that driver too in V2 (and add Robert in CC:)

Thanks,

Maxime

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-02-11  9:17 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20250207223634.600218-12-maxime.chevallier@bootlin.com>
2025-02-08 16:04 ` [PATCH net-next 11/13] net: phy: Only rely on phy_port for PHY-driven SFP kernel test robot
2025-02-11  9:17   ` Maxime Chevallier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox