[linux-next:pending-fixes 1999/2286] drivers/net/dsa/xrs700x/xrs700x.c:515: undefined reference to `hsr_get_version'
From: kernel test robot <hidden>
Date: 2021-02-20 11:52:04
Also in:
oe-kbuild-all
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git pending-fixes head: 3c15bb8df3365826d67efc332ee490dacc8e901c commit: bd62e6f5e6a98f1657cf9c3b632bdb7a2e78d42c [1999/2286] net: dsa: xrs700x: add HSR offloading support config: x86_64-randconfig-r023-20210219 (attached as .config) compiler: gcc-9 (Debian 9.3.0-15) 9.3.0 reproduce (this is a W=1 build): # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=bd62e6f5e6a98f1657cf9c3b632bdb7a2e78d42c git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git git fetch --no-tags linux-next pending-fixes git checkout bd62e6f5e6a98f1657cf9c3b632bdb7a2e78d42c # save the attached .config to linux build tree make W=1 ARCH=x86_64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <redacted> All errors (new ones prefixed by >>): ld: warning: orphan section `.data..decrypted' from `arch/x86/kernel/cpu/vmware.o' being placed in section `.data..decrypted' ld: warning: orphan section `.data..decrypted' from `arch/x86/kernel/kvm.o' being placed in section `.data..decrypted' ld: drivers/net/dsa/xrs700x/xrs700x.o: in function `xrs700x_hsr_join':
quoted
drivers/net/dsa/xrs700x/xrs700x.c:515: undefined reference to `hsr_get_version'
ld: net/dsa/slave.o: in function `dsa_slave_changeupper':
net/dsa/slave.c:1942: undefined reference to `is_hsr_master'
vim +515 drivers/net/dsa/xrs700x/xrs700x.c
504
505 static int xrs700x_hsr_join(struct dsa_switch *ds, int port,
506 struct net_device *hsr)
507 {
508 unsigned int val = XRS_HSR_CFG_HSR_PRP;
509 struct dsa_port *partner = NULL, *dp;
510 struct xrs700x *priv = ds->priv;
511 struct net_device *slave;
512 int ret, i, hsr_pair[2];
513 enum hsr_version ver;
514
> 515 ret = hsr_get_version(hsr, &ver);
516 if (ret)
517 return ret;
518
519 /* Only ports 1 and 2 can be HSR/PRP redundant ports. */
520 if (port != 1 && port != 2)
521 return -EOPNOTSUPP;
522
523 if (ver == HSR_V1)
524 val |= XRS_HSR_CFG_HSR;
525 else if (ver == PRP_V1)
526 val |= XRS_HSR_CFG_PRP;
527 else
528 return -EOPNOTSUPP;
529
530 dsa_hsr_foreach_port(dp, ds, hsr) {
531 partner = dp;
532 }
533
534 /* We can't enable redundancy on the switch until both
535 * redundant ports have signed up.
536 */
537 if (!partner)
538 return 0;
539
540 regmap_fields_write(priv->ps_forward, partner->index,
541 XRS_PORT_DISABLED);
542 regmap_fields_write(priv->ps_forward, port, XRS_PORT_DISABLED);
543
544 regmap_write(priv->regmap, XRS_HSR_CFG(partner->index),
545 val | XRS_HSR_CFG_LANID_A);
546 regmap_write(priv->regmap, XRS_HSR_CFG(port),
547 val | XRS_HSR_CFG_LANID_B);
548
549 /* Clear bits for both redundant ports (HSR only) and the CPU port to
550 * enable forwarding.
551 */
552 val = GENMASK(ds->num_ports - 1, 0);
553 if (ver == HSR_V1) {
554 val &= ~BIT(partner->index);
555 val &= ~BIT(port);
556 }
557 val &= ~BIT(dsa_upstream_port(ds, port));
558 regmap_write(priv->regmap, XRS_PORT_FWD_MASK(partner->index), val);
559 regmap_write(priv->regmap, XRS_PORT_FWD_MASK(port), val);
560
561 regmap_fields_write(priv->ps_forward, partner->index,
562 XRS_PORT_FORWARDING);
563 regmap_fields_write(priv->ps_forward, port, XRS_PORT_FORWARDING);
564
565 hsr_pair[0] = port;
566 hsr_pair[1] = partner->index;
567 for (i = 0; i < ARRAY_SIZE(hsr_pair); i++) {
568 slave = dsa_to_port(ds, hsr_pair[i])->slave;
569 slave->features |= XRS7000X_SUPPORTED_HSR_FEATURES;
570 }
571
572 return 0;
573 }
574
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Attachments
- .config.gz [application/gzip] 37513 bytes