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

From: Christian Marangi
Date: Sat Dec 09 2023 - 07:46:41 EST


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/202312092051.FcBofskz-lkp@xxxxxxxxx/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/202312092051.FcBofskz-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/202312092051.FcBofskz-lkp@xxxxxxxxx/
>
> 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