Hi Greg, I love your patch! Perhaps something to improve:
[auto build test WARNING on net/master] [also build test WARNING on v5.0-rc2 next-20190116] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/gerg-kernel-org/net-ethernet-mediatek-support-MT7621-SoC-ethernet-hardware/20190121-223911 config: sparc64-allmodconfig (attached as .config) compiler: sparc64-linux-gnu-gcc (Debian 8.2.0-11) 8.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=8.2.0 make.cross ARCH=sparc64 All warnings (new ones prefixed by >>): drivers/net//dsa/mt7530.c: In function 'mt7530_probe': >> drivers/net//dsa/mt7530.c:1380:13: warning: cast from pointer to integer of >> different size [-Wpointer-to-int-cast] priv->id = (unsigned int)of_id->data; ^ vim +1380 drivers/net//dsa/mt7530.c 1344 1345 static int 1346 mt7530_probe(struct mdio_device *mdiodev) 1347 { 1348 const struct of_device_id *of_id; 1349 struct mt7530_priv *priv; 1350 struct device_node *dn; 1351 1352 dn = mdiodev->dev.of_node; 1353 1354 priv = devm_kzalloc(&mdiodev->dev, sizeof(*priv), GFP_KERNEL); 1355 if (!priv) 1356 return -ENOMEM; 1357 1358 priv->ds = dsa_switch_alloc(&mdiodev->dev, DSA_MAX_PORTS); 1359 if (!priv->ds) 1360 return -ENOMEM; 1361 1362 /* Use medatek,mcm property to distinguish hardware type that would 1363 * casues a little bit differences on power-on sequence. 1364 */ 1365 priv->mcm = of_property_read_bool(dn, "mediatek,mcm"); 1366 if (priv->mcm) { 1367 dev_info(&mdiodev->dev, "MT7530 adapts as multi-chip module\n"); 1368 1369 priv->rstc = devm_reset_control_get(&mdiodev->dev, "mcm"); 1370 if (IS_ERR(priv->rstc)) { 1371 dev_err(&mdiodev->dev, "Couldn't get our reset line\n"); 1372 return PTR_ERR(priv->rstc); 1373 } 1374 } 1375 1376 /* Get the hardware identifier from the devicetree node. 1377 * We will need it for some of the clock and regulator setup. 1378 */ 1379 of_id = of_match_node(mt7530_of_match, dn); > 1380 priv->id = (unsigned int)of_id->data; 1381 1382 if (priv->id == ID_MT7530) { 1383 priv->core_pwr = devm_regulator_get(&mdiodev->dev, "core"); 1384 if (IS_ERR(priv->core_pwr)) 1385 return PTR_ERR(priv->core_pwr); 1386 1387 priv->io_pwr = devm_regulator_get(&mdiodev->dev, "io"); 1388 if (IS_ERR(priv->io_pwr)) 1389 return PTR_ERR(priv->io_pwr); 1390 } 1391 1392 /* Not MCM that indicates switch works as the remote standalone 1393 * integrated circuit so the GPIO pin would be used to complete 1394 * the reset, otherwise memory-mapped register accessing used 1395 * through syscon provides in the case of MCM. 1396 */ 1397 if (!priv->mcm) { 1398 priv->reset = devm_gpiod_get_optional(&mdiodev->dev, "reset", 1399 GPIOD_OUT_LOW); 1400 if (IS_ERR(priv->reset)) { 1401 dev_err(&mdiodev->dev, "Couldn't get our reset line\n"); 1402 return PTR_ERR(priv->reset); 1403 } 1404 } 1405 1406 priv->bus = mdiodev->bus; 1407 priv->dev = &mdiodev->dev; 1408 priv->ds->priv = priv; 1409 priv->ds->ops = &mt7530_switch_ops; 1410 mutex_init(&priv->reg_mutex); 1411 dev_set_drvdata(&mdiodev->dev, priv); 1412 1413 return dsa_register_switch(priv->ds); 1414 } 1415 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
.config.gz
Description: application/gzip