Subject: Re: [net-next PATCH 2/2] net: phy: at803x: add LED support for qca808x

From: Christian Marangi <[email-masked]>
Date: Sat, 9 Dec 2023 13:44:28 +0100

On Sat, Dec 09, 2023 at 08:38:38PM +0800, kernel test robot wrote:
> Hi Christian,
> 
> 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/Christian-Marangi/net-phy-at803x-add-LED-support-for-qca808x/20231209-095014
> base:   net-next/main
> patch link:    https://lore.kernel.org/r/20231209014828.28194-2-ansuelsmth%40gmail.com
> patch subject: [net-next PATCH 2/2] net: phy: at803x: add LED support for qca808x
> config: arm-randconfig-003-20231209 (https://download.01.org/0day-ci/archive/20231209/[email-masked]/config)
> compiler: arm-linux-gnueabi-gcc (GCC) 13.2.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231209/[email-masked]/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 <[email-masked]>
> | Closes: https://lore.kernel.org/oe-kbuild-all/[email-masked]/
> 
> All errors (new ones prefixed by >>):
> 
>    In file included from include/linux/bitops.h:68,
>                     from include/linux/log2.h:12,
>                     from include/asm-generic/div64.h:55,
>                     from arch/arm/include/asm/div64.h:107,
>                     from include/linux/math.h:6,
>                     from include/linux/math64.h:6,
>                     from include/linux/time64.h:5,
>                     from include/linux/restart_block.h:10,
>                     from include/linux/thread_info.h:14,
>                     from include/asm-generic/preempt.h:5,
>                     from ./arch/arm/include/generated/asm/preempt.h:1,
>                     from include/linux/preempt.h:79,
>                     from include/linux/spinlock.h:56,
>                     from include/linux/phy.h:15,
>                     from drivers/net/phy/at803x.c:10:
>    drivers/net/phy/at803x.c: In function 'qca808x_led_hw_control_get':
> >> drivers/net/phy/at803x.c:2270:25: error: 'TRIGGER_NETDEV_LINK_2500' undeclared (first use in this function); did you mean 'TRIGGER_NETDEV_LINK_1000'?
>     2270 |                 set_bit(TRIGGER_NETDEV_LINK_2500, rules);
>          |                         ^~~~~~~~~~~~~~~~~~~~~~~~
>    arch/arm/include/asm/bitops.h:183:31: note: in definition of macro 'ATOMIC_BITOP'
>      183 |         (__builtin_constant_p(nr) ? ____atomic_##name(nr, p) : _##name(nr,p))
>          |                               ^~
>    drivers/net/phy/at803x.c:2270:17: note: in expansion of macro 'set_bit'
>     2270 |                 set_bit(TRIGGER_NETDEV_LINK_2500, rules);
>          |                 ^~~~~~~
>    drivers/net/phy/at803x.c:2270:25: note: each undeclared identifier is reported only once for each function it appears in
>     2270 |                 set_bit(TRIGGER_NETDEV_LINK_2500, rules);
>          |                         ^~~~~~~~~~~~~~~~~~~~~~~~
>    arch/arm/include/asm/bitops.h:183:31: note: in definition of macro 'ATOMIC_BITOP'
>      183 |         (__builtin_constant_p(nr) ? ____atomic_##name(nr, p) : _##name(nr,p))
>          |                               ^~
>    drivers/net/phy/at803x.c:2270:17: note: in expansion of macro 'set_bit'
>     2270 |                 set_bit(TRIGGER_NETDEV_LINK_2500, rules);
>          |                 ^~~~~~~
> 
> 
> vim +2270 drivers/net/phy/at803x.c

Hi,
this error is caused by the lack of the commits for the recently added
support for additional link speed in the netdev LED trigger.

These additional modes has been merged in Lee tree but I guess we need
an immutable branch for net-next to actually use them?

> 
>   2242	
>   2243	static int qca808x_led_hw_control_get(struct phy_device *phydev, u8 index,
>   2244					      unsigned long *rules)
>   2245	{
>   2246		u16 reg;
>   2247		int val;
>   2248	
>   2249		if (index > 2)
>   2250			return -EINVAL;
>   2251	
>   2252		/* Check if we have hw control enabled */
>   2253		if (qca808x_led_hw_control_status(phydev, index))
>   2254			return -EINVAL;
>   2255	
>   2256		reg = QCA808X_MMD7_LED_CTRL(index);
>   2257	
>   2258		val = phy_read_mmd(phydev, MDIO_MMD_AN, reg);
>   2259		if (val & QCA808X_LED_TX_BLINK)
>   2260			set_bit(TRIGGER_NETDEV_TX, rules);
>   2261		if (val & QCA808X_LED_RX_BLINK)
>   2262			set_bit(TRIGGER_NETDEV_RX, rules);
>   2263		if (val & QCA808X_LED_SPEED10_ON)
>   2264			set_bit(TRIGGER_NETDEV_LINK_10, rules);
>   2265		if (val & QCA808X_LED_SPEED100_ON)
>   2266			set_bit(TRIGGER_NETDEV_LINK_100, rules);
>   2267		if (val & QCA808X_LED_SPEED1000_ON)
>   2268			set_bit(TRIGGER_NETDEV_LINK_1000, rules);
>   2269		if (val & QCA808X_LED_SPEED2500_ON)
> > 2270			set_bit(TRIGGER_NETDEV_LINK_2500, rules);
>   2271		if (val & QCA808X_LED_HALF_DUPLEX_ON)
>   2272			set_bit(TRIGGER_NETDEV_HALF_DUPLEX, rules);
>   2273		if (val & QCA808X_LED_FULL_DUPLEX_ON)
>   2274			set_bit(TRIGGER_NETDEV_FULL_DUPLEX, rules);
>   2275	
>   2276		return 0;
>   2277	}
>   2278	
> 
> -- 
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki

-- 
	Ansuel