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

Attachment: .config.gz
Description: application/gzip

Reply via email to