[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <202007251817.x5EF2Aoc%lkp@intel.com>
Date: Sat, 25 Jul 2020 18:41:21 +0800
From: kernel test robot <lkp@...el.com>
To: Zong-Zhe Yang <kevin_yang@...ltek.com>
Cc: kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org,
Kalle Valo <kvalo@...eaurora.org>,
Yan-Hsuan Chuang <yhchuang@...ltek.com>
Subject: drivers/net/wireless/realtek/rtw88/pci.c:1477:5: warning: no
previous prototype for 'rtw_pci_probe'
Hi Zong-Zhe,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 23ee3e4e5bd27bdbc0f1785eef7209ce872794c7
commit: 72f256c2b948622cc45ff8bc0456dd6039d8fe36 rtw88: extract: export symbols about pci interface
date: 10 weeks ago
config: arc-randconfig-r026-20200725 (attached as .config)
compiler: arc-elf-gcc (GCC) 9.3.0
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
git checkout 72f256c2b948622cc45ff8bc0456dd6039d8fe36
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>
All warnings (new ones prefixed by >>):
>> drivers/net/wireless/realtek/rtw88/pci.c:1477:5: warning: no previous prototype for 'rtw_pci_probe' [-Wmissing-prototypes]
1477 | int rtw_pci_probe(struct pci_dev *pdev,
| ^~~~~~~~~~~~~
>> drivers/net/wireless/realtek/rtw88/pci.c:1557:6: warning: no previous prototype for 'rtw_pci_remove' [-Wmissing-prototypes]
1557 | void rtw_pci_remove(struct pci_dev *pdev)
| ^~~~~~~~~~~~~~
>> drivers/net/wireless/realtek/rtw88/pci.c:1579:6: warning: no previous prototype for 'rtw_pci_shutdown' [-Wmissing-prototypes]
1579 | void rtw_pci_shutdown(struct pci_dev *pdev)
| ^~~~~~~~~~~~~~~~
vim +/rtw_pci_probe +1477 drivers/net/wireless/realtek/rtw88/pci.c
1476
> 1477 int rtw_pci_probe(struct pci_dev *pdev,
1478 const struct pci_device_id *id)
1479 {
1480 struct ieee80211_hw *hw;
1481 struct rtw_dev *rtwdev;
1482 int drv_data_size;
1483 int ret;
1484
1485 drv_data_size = sizeof(struct rtw_dev) + sizeof(struct rtw_pci);
1486 hw = ieee80211_alloc_hw(drv_data_size, &rtw_ops);
1487 if (!hw) {
1488 dev_err(&pdev->dev, "failed to allocate hw\n");
1489 return -ENOMEM;
1490 }
1491
1492 rtwdev = hw->priv;
1493 rtwdev->hw = hw;
1494 rtwdev->dev = &pdev->dev;
1495 rtwdev->chip = (struct rtw_chip_info *)id->driver_data;
1496 rtwdev->hci.ops = &rtw_pci_ops;
1497 rtwdev->hci.type = RTW_HCI_TYPE_PCIE;
1498
1499 ret = rtw_core_init(rtwdev);
1500 if (ret)
1501 goto err_release_hw;
1502
1503 rtw_dbg(rtwdev, RTW_DBG_PCI,
1504 "rtw88 pci probe: vendor=0x%4.04X device=0x%4.04X rev=%d\n",
1505 pdev->vendor, pdev->device, pdev->revision);
1506
1507 ret = rtw_pci_claim(rtwdev, pdev);
1508 if (ret) {
1509 rtw_err(rtwdev, "failed to claim pci device\n");
1510 goto err_deinit_core;
1511 }
1512
1513 ret = rtw_pci_setup_resource(rtwdev, pdev);
1514 if (ret) {
1515 rtw_err(rtwdev, "failed to setup pci resources\n");
1516 goto err_pci_declaim;
1517 }
1518
1519 ret = rtw_chip_info_setup(rtwdev);
1520 if (ret) {
1521 rtw_err(rtwdev, "failed to setup chip information\n");
1522 goto err_destroy_pci;
1523 }
1524
1525 rtw_pci_phy_cfg(rtwdev);
1526
1527 ret = rtw_register_hw(rtwdev, hw);
1528 if (ret) {
1529 rtw_err(rtwdev, "failed to register hw\n");
1530 goto err_destroy_pci;
1531 }
1532
1533 ret = rtw_pci_request_irq(rtwdev, pdev);
1534 if (ret) {
1535 ieee80211_unregister_hw(hw);
1536 goto err_destroy_pci;
1537 }
1538
1539 return 0;
1540
1541 err_destroy_pci:
1542 rtw_pci_destroy(rtwdev, pdev);
1543
1544 err_pci_declaim:
1545 rtw_pci_declaim(rtwdev, pdev);
1546
1547 err_deinit_core:
1548 rtw_core_deinit(rtwdev);
1549
1550 err_release_hw:
1551 ieee80211_free_hw(hw);
1552
1553 return ret;
1554 }
1555 EXPORT_SYMBOL(rtw_pci_probe);
1556
> 1557 void rtw_pci_remove(struct pci_dev *pdev)
1558 {
1559 struct ieee80211_hw *hw = pci_get_drvdata(pdev);
1560 struct rtw_dev *rtwdev;
1561 struct rtw_pci *rtwpci;
1562
1563 if (!hw)
1564 return;
1565
1566 rtwdev = hw->priv;
1567 rtwpci = (struct rtw_pci *)rtwdev->priv;
1568
1569 rtw_unregister_hw(rtwdev, hw);
1570 rtw_pci_disable_interrupt(rtwdev, rtwpci);
1571 rtw_pci_destroy(rtwdev, pdev);
1572 rtw_pci_declaim(rtwdev, pdev);
1573 rtw_pci_free_irq(rtwdev, pdev);
1574 rtw_core_deinit(rtwdev);
1575 ieee80211_free_hw(hw);
1576 }
1577 EXPORT_SYMBOL(rtw_pci_remove);
1578
> 1579 void rtw_pci_shutdown(struct pci_dev *pdev)
1580 {
1581 struct ieee80211_hw *hw = pci_get_drvdata(pdev);
1582 struct rtw_dev *rtwdev;
1583 struct rtw_chip_info *chip;
1584
1585 if (!hw)
1586 return;
1587
1588 rtwdev = hw->priv;
1589 chip = rtwdev->chip;
1590
1591 if (chip->ops->shutdown)
1592 chip->ops->shutdown(rtwdev);
1593 }
1594 EXPORT_SYMBOL(rtw_pci_shutdown);
1595
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Download attachment ".config.gz" of type "application/gzip" (24806 bytes)
Powered by blists - more mailing lists