Re: [PATCH 1/4] hwtracing: Add trace function support for HiSilicon PCIe Tune and Trace device

From: kernel test robot
Date: Tue Apr 06 2021 - 12:14:52 EST


Hi Yicong,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v5.12-rc6 next-20210406]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url: https://github.com/0day-ci/linux/commits/Yicong-Yang/Add-support-for-HiSilicon-PCIe-Tune-and-Trace-device/20210406-204959
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 0a50438c84363bd37fe18fe432888ae9a074dcab
config: nios2-allyesconfig (attached as .config)
compiler: nios2-linux-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
# https://github.com/0day-ci/linux/commit/8d755179573b25c8c165509321a32c3c04b10ab5
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Yicong-Yang/Add-support-for-HiSilicon-PCIe-Tune-and-Trace-device/20210406-204959
git checkout 8d755179573b25c8c165509321a32c3c04b10ab5
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=nios2

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

drivers/hwtracing/hisilicon/hisi_ptt.c: In function 'hisi_ptt_irq_register':
drivers/hwtracing/hisilicon/hisi_ptt.c:1067:3: error: implicit declaration of function 'pci_free_irq_vectors'; did you mean 'pci_alloc_irq_vectors'? [-Werror=implicit-function-declaration]
1067 | pci_free_irq_vectors(pdev);
| ^~~~~~~~~~~~~~~~~~~~
| pci_alloc_irq_vectors
drivers/hwtracing/hisilicon/hisi_ptt.c: In function 'hisi_ptt_init_ctrls':
drivers/hwtracing/hisilicon/hisi_ptt.c:1231:8: error: implicit declaration of function 'pci_find_bus'; did you mean 'pci_find_next_bus'? [-Werror=implicit-function-declaration]
1231 | bus = pci_find_bus(pci_domain_nr(hisi_ptt->pdev->bus),
| ^~~~~~~~~~~~
| pci_find_next_bus
>> drivers/hwtracing/hisilicon/hisi_ptt.c:1231:6: warning: assignment to 'struct pci_bus *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
1231 | bus = pci_find_bus(pci_domain_nr(hisi_ptt->pdev->bus),
| ^
drivers/hwtracing/hisilicon/hisi_ptt.c:1234:3: error: implicit declaration of function 'pci_walk_bus' [-Werror=implicit-function-declaration]
1234 | pci_walk_bus(bus, hisi_ptt_init_filters, hisi_ptt);
| ^~~~~~~~~~~~
drivers/hwtracing/hisilicon/hisi_ptt.c: In function 'hisi_ptt_probe':
drivers/hwtracing/hisilicon/hisi_ptt.c:1359:31: error: 'pci_bus_type' undeclared (first use in this function); did you mean 'pci_pcie_type'?
1359 | ret = bus_register_notifier(&pci_bus_type, &hisi_ptt->hisi_ptt_nb);
| ^~~~~~~~~~~~
| pci_pcie_type
drivers/hwtracing/hisilicon/hisi_ptt.c:1359:31: note: each undeclared identifier is reported only once for each function it appears in
drivers/hwtracing/hisilicon/hisi_ptt.c: At top level:
drivers/hwtracing/hisilicon/hisi_ptt.c:1366:6: warning: no previous prototype for 'hisi_ptt_remove' [-Wmissing-prototypes]
1366 | void hisi_ptt_remove(struct pci_dev *pdev)
| ^~~~~~~~~~~~~~~
drivers/hwtracing/hisilicon/hisi_ptt.c: In function 'hisi_ptt_remove':
drivers/hwtracing/hisilicon/hisi_ptt.c:1370:27: error: 'pci_bus_type' undeclared (first use in this function); did you mean 'pci_pcie_type'?
1370 | bus_unregister_notifier(&pci_bus_type, &hisi_ptt->hisi_ptt_nb);
| ^~~~~~~~~~~~
| pci_pcie_type
cc1: some warnings being treated as errors


vim +1231 drivers/hwtracing/hisilicon/hisi_ptt.c

1209
1210 static void hisi_ptt_init_ctrls(struct hisi_ptt *hisi_ptt)
1211 {
1212 struct pci_bus *bus;
1213 u32 reg;
1214
1215 INIT_LIST_HEAD(&hisi_ptt->port_filters);
1216 INIT_LIST_HEAD(&hisi_ptt->req_filters);
1217
1218 /*
1219 * The device range register provides the information about the
1220 * root ports which the RCiEP can control and trace. The RCiEP
1221 * and the root ports it support are on the same PCIe core, with
1222 * same domain number but maybe different bus number. The device
1223 * range register will tell us which root ports we can support,
1224 * Bit[31:16] indicates the upper BDF numbers of the root port,
1225 * while Bit[15:0] indicates the lower.
1226 */
1227 reg = readl(hisi_ptt->iobase + HISI_PTT_DEVICE_RANGE);
1228 hisi_ptt->upper = reg >> 16;
1229 hisi_ptt->lower = reg & 0xffff;
1230
> 1231 bus = pci_find_bus(pci_domain_nr(hisi_ptt->pdev->bus),
1232 PCI_BUS_NUM(hisi_ptt->upper));
1233 if (bus)
1234 pci_walk_bus(bus, hisi_ptt_init_filters, hisi_ptt);
1235
1236 /* Initialize trace controls */
1237 INIT_LIST_HEAD(&hisi_ptt->trace_ctrl.trace_buf);
1238 hisi_ptt->trace_ctrl.buflet_nums = HISI_PTT_DEFAULT_TRACE_BUF_CNT;
1239 hisi_ptt->trace_ctrl.buflet_size = HISI_PTT_TRACE_DEFAULT_BUFLET_SIZE;
1240 hisi_ptt->trace_ctrl.rxtx = HISI_PTT_TRACE_DEFAULT_RXTX.event_code;
1241 hisi_ptt->trace_ctrl.tr_event = HISI_PTT_TRACE_DEFAULT_EVENT.event_code;
1242 }
1243

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip