[lunn:v5.15-rc2-net-next-phy-lock 14/14] drivers/net/dsa/b53/b53_common.c:1297:19: error: implicit declaration of function 'b53_adjust_init'

From: kernel test robot
Date: Thu Sep 30 2021 - 00:43:37 EST


tree: https://github.com/lunn/linux.git v5.15-rc2-net-next-phy-lock
head: a5fc611ff3720771a7c6c8f5acefff8708757020
commit: a5fc611ff3720771a7c6c8f5acefff8708757020 [14/14] net: phy: phy_init_eee: Add locking
config: hexagon-randconfig-r006-20210929 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 28981015526f2192440c18f18e8a20cd11b0779c)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/lunn/linux/commit/a5fc611ff3720771a7c6c8f5acefff8708757020
git remote add lunn https://github.com/lunn/linux.git
git fetch --no-tags lunn v5.15-rc2-net-next-phy-lock
git checkout a5fc611ff3720771a7c6c8f5acefff8708757020
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=hexagon

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

>> drivers/net/dsa/b53/b53_common.c:1297:19: error: implicit declaration of function 'b53_adjust_init' [-Werror,-Wimplicit-function-declaration]
p->eee_enabled = b53_adjust_init(ds, port, phydev);
^
drivers/net/dsa/b53/b53_common.c:1297:19: note: did you mean 'b53_adjust_link'?
drivers/net/dsa/b53/b53_common.c:1212:13: note: 'b53_adjust_link' declared here
static void b53_adjust_link(struct dsa_switch *ds, int port,
^
1 error generated.


vim +/b53_adjust_init +1297 drivers/net/dsa/b53/b53_common.c

1211
1212 static void b53_adjust_link(struct dsa_switch *ds, int port,
1213 struct phy_device *phydev)
1214 {
1215 struct b53_device *dev = ds->priv;
1216 struct ethtool_eee *p = &dev->ports[port].eee;
1217 u8 rgmii_ctrl = 0, reg = 0, off;
1218 bool tx_pause = false;
1219 bool rx_pause = false;
1220
1221 if (!phy_is_pseudo_fixed_link(phydev))
1222 return;
1223
1224 /* Enable flow control on BCM5301x's CPU port */
1225 if (is5301x(dev) && dsa_is_cpu_port(ds, port))
1226 tx_pause = rx_pause = true;
1227
1228 if (phydev->pause) {
1229 if (phydev->asym_pause)
1230 tx_pause = true;
1231 rx_pause = true;
1232 }
1233
1234 b53_force_port_config(dev, port, phydev->speed, phydev->duplex,
1235 tx_pause, rx_pause);
1236 b53_force_link(dev, port, phydev->link);
1237
1238 if (is531x5(dev) && phy_interface_is_rgmii(phydev)) {
1239 if (port == dev->imp_port)
1240 off = B53_RGMII_CTRL_IMP;
1241 else
1242 off = B53_RGMII_CTRL_P(port);
1243
1244 /* Configure the port RGMII clock delay by DLL disabled and
1245 * tx_clk aligned timing (restoring to reset defaults)
1246 */
1247 b53_read8(dev, B53_CTRL_PAGE, off, &rgmii_ctrl);
1248 rgmii_ctrl &= ~(RGMII_CTRL_DLL_RXC | RGMII_CTRL_DLL_TXC |
1249 RGMII_CTRL_TIMING_SEL);
1250
1251 /* PHY_INTERFACE_MODE_RGMII_TXID means TX internal delay, make
1252 * sure that we enable the port TX clock internal delay to
1253 * account for this internal delay that is inserted, otherwise
1254 * the switch won't be able to receive correctly.
1255 *
1256 * PHY_INTERFACE_MODE_RGMII means that we are not introducing
1257 * any delay neither on transmission nor reception, so the
1258 * BCM53125 must also be configured accordingly to account for
1259 * the lack of delay and introduce
1260 *
1261 * The BCM53125 switch has its RX clock and TX clock control
1262 * swapped, hence the reason why we modify the TX clock path in
1263 * the "RGMII" case
1264 */
1265 if (phydev->interface == PHY_INTERFACE_MODE_RGMII_TXID)
1266 rgmii_ctrl |= RGMII_CTRL_DLL_TXC;
1267 if (phydev->interface == PHY_INTERFACE_MODE_RGMII)
1268 rgmii_ctrl |= RGMII_CTRL_DLL_TXC | RGMII_CTRL_DLL_RXC;
1269 rgmii_ctrl |= RGMII_CTRL_TIMING_SEL;
1270 b53_write8(dev, B53_CTRL_PAGE, off, rgmii_ctrl);
1271
1272 dev_info(ds->dev, "Configured port %d for %s\n", port,
1273 phy_modes(phydev->interface));
1274 }
1275
1276 /* configure MII port if necessary */
1277 if (is5325(dev)) {
1278 b53_read8(dev, B53_CTRL_PAGE, B53_PORT_OVERRIDE_CTRL,
1279 &reg);
1280
1281 /* reverse mii needs to be enabled */
1282 if (!(reg & PORT_OVERRIDE_RV_MII_25)) {
1283 b53_write8(dev, B53_CTRL_PAGE, B53_PORT_OVERRIDE_CTRL,
1284 reg | PORT_OVERRIDE_RV_MII_25);
1285 b53_read8(dev, B53_CTRL_PAGE, B53_PORT_OVERRIDE_CTRL,
1286 &reg);
1287
1288 if (!(reg & PORT_OVERRIDE_RV_MII_25)) {
1289 dev_err(ds->dev,
1290 "Failed to enable reverse MII mode\n");
1291 return;
1292 }
1293 }
1294 }
1295
1296 /* Re-negotiate EEE if it was enabled already */
> 1297 p->eee_enabled = b53_adjust_init(ds, port, phydev);
1298 }
1299

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip