2020-07-25 10:43:17

by kernel test robot

[permalink] [raw]
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 <[email protected]>

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/[email protected]


Attachments:
(No filename) (5.08 kB)
.config.gz (24.22 kB)
Download all attachments

2020-08-28 02:27:14

by Tony Chuang

[permalink] [raw]
Subject: RE: drivers/net/wireless/realtek/rtw88/pci.c:1477:5: warning: no previous prototype for 'rtw_pci_probe'

> + linux-wireless
>
> kernel test robot <[email protected]> writes:
>
> > 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 <[email protected]>
> >
> > 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)
> > | ^~~~~~~~~~~~~~~~
>
> Tony, these are older warnings but please also check these.
>

I think this warning can be ignored, as the commit was going to export
pci symbols for the follow-up patches to use, such as:

f56f08636dda rtw88: extract: make 8723d an individual kernel module
416e87fcc780 rtw88: extract: make 8822b an individual kernel module
ba0fbe236fb8 rtw88: extract: make 8822c an individual kernel module

And these patches were submitted and applied together.

Thanks,
Yen-Hsuan