Hi Tristram,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on net-next/master]

url:    
https://github.com/0day-ci/linux/commits/Tristram-Ha-microchip-com/net-dsa-microchip-add-KSZ9893-switch-support/20190227-141333
config: i386-randconfig-x009-201908 (attached as .config)
compiler: gcc-8 (Debian 8.2.0-20) 8.2.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   drivers/net/dsa/microchip/ksz9477.c: In function 'ksz9477_switch_detect':
>> drivers/net/dsa/microchip/ksz9477.c:1516:8: error: implicit declaration of 
>> function 'of_modalias_node'; did you mean 'of_match_node'? 
>> [-Werror=implicit-function-declaration]
      if (!of_modalias_node(dev->dev->of_node, name, sizeof(name))) {
           ^~~~~~~~~~~~~~~~
           of_match_node
   cc1: some warnings being treated as errors

vim +1516 drivers/net/dsa/microchip/ksz9477.c

  1433  
  1434  static int ksz9477_switch_detect(struct ksz_device *dev)
  1435  {
  1436          int chip = -1;
  1437          u8 data8;
  1438          u8 id_hi;
  1439          u8 id_lo;
  1440          u32 id32;
  1441          int ret;
  1442  
  1443          /* turn off SPI DO Edge select */
  1444          ret = ksz_read8(dev, REG_SW_GLOBAL_SERIAL_CTRL_0, &data8);
  1445          if (ret)
  1446                  return ret;
  1447  
  1448          data8 &= ~SPI_AUTO_EDGE_DETECTION;
  1449          ret = ksz_write8(dev, REG_SW_GLOBAL_SERIAL_CTRL_0, data8);
  1450          if (ret)
  1451                  return ret;
  1452  
  1453          /* read chip id */
  1454          ret = ksz_read32(dev, REG_CHIP_ID0__1, &id32);
  1455          if (ret)
  1456                  return ret;
  1457          ret = ksz_read8(dev, REG_GLOBAL_OPTIONS, &data8);
  1458          if (ret)
  1459                  return ret;
  1460  
  1461          /* Number of ports can be reduced depending on chip. */
  1462          dev->mib_port_cnt = TOTAL_PORT_NUM;
  1463          dev->phy_port_cnt = 5;
  1464  
  1465          /* Default capability is gigabit capable. */
  1466          dev->features = GBIT_SUPPORT;
  1467  
  1468          id_hi = (u8)(id32 >> 16);
  1469          id_lo = (u8)(id32 >> 8);
  1470          if ((id_lo & 0xf) == 3) {
  1471                  /* Chip is from KSZ9893 design. */
  1472                  dev->features |= IS_9893;
  1473  
  1474                  /* Chip does not support gigabit. */
  1475                  if (data8 & SW_QW_ABLE)
  1476                          dev->features &= ~GBIT_SUPPORT;
  1477                  dev->mib_port_cnt = 3;
  1478                  dev->phy_port_cnt = 2;
  1479                  if (!(data8 & SW_AVB_ABLE))
  1480                          chip = KSZ9893_SW_CHIP;
  1481                  else if (data8 & SW_QW_ABLE)
  1482                          chip = KSZ8563_SW_CHIP;
  1483                  else
  1484                          chip = KSZ9563_SW_CHIP;
  1485          } else {
  1486                  /* Chip uses new XMII register definitions. */
  1487                  dev->features |= NEW_XMII;
  1488  
  1489                  /* Chip does not support gigabit. */
  1490                  if (!(data8 & SW_GIGABIT_ABLE))
  1491                          dev->features &= ~GBIT_SUPPORT;
  1492                  if ((id_lo & 0xf) == 6)
  1493                          dev->mib_port_cnt = 6;
  1494                  if (id_hi == FAMILY_ID_94)
  1495                          chip = KSZ9477_SW_CHIP;
  1496                  else if (id_hi == FAMILY_ID_98 && id_lo == CHIP_ID_97)
  1497                          chip = KSZ9897_SW_CHIP;
  1498                  else if (id_hi == FAMILY_ID_98 && id_lo == CHIP_ID_96)
  1499                          chip = KSZ9896_SW_CHIP;
  1500                  else if (id_hi == FAMILY_ID_95 && id_lo == CHIP_ID_67)
  1501                          chip = KSZ9567_SW_CHIP;
  1502                  else if (id_hi == FAMILY_ID_85 && id_lo == CHIP_ID_67)
  1503                          chip = KSZ8567_SW_CHIP;
  1504                  if (id_lo == CHIP_ID_67) {
  1505                          id_hi = FAMILY_ID_98;
  1506                          id_lo = CHIP_ID_97;
  1507                  } else if (id_lo == CHIP_ID_66) {
  1508                          id_hi = FAMILY_ID_98;
  1509                          id_lo = CHIP_ID_96;
  1510                  }
  1511          }
  1512          if (dev->dev->of_node) {
  1513                  char name[80];
  1514  
  1515                  /* KSZ8565 chip can only be set through device tree. */
> 1516                  if (!of_modalias_node(dev->dev->of_node, name, 
> sizeof(name))) {
  1517                          if (!strcmp(name, "ksz8565")) {
  1518                                  chip = KSZ8565_SW_CHIP;
  1519                                  id_hi = FAMILY_ID_98;
  1520                                  id_lo = 0x95;
  1521                          }
  1522                  }
  1523          }
  1524  
  1525          /* Change chip id to known ones so it can be matched against 
them. */
  1526          id32 = (id_hi << 16) | (id_lo << 8);
  1527  
  1528          dev->chip_id = id32;
  1529  
  1530          /* Update switch device name to matched chip. */
  1531          if (chip >= 0)
  1532                  dev->name = ksz9477_chip_names[chip];
  1533  
  1534          return 0;
  1535  }
  1536  

---
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