On 3/16/20 9:31 PM, Z.q. Hou wrote: > Hi Randy and Bjorn, > >> -----Original Message----- >> From: Bjorn Helgaas <helgaas@xxxxxxxxxx> >> Sent: 2020年3月13日 3:39 >> To: Z.q. Hou <zhiqiang.hou@xxxxxxx> >> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>; Stephen Rothwell >> <sfr@xxxxxxxxxxxxxxxx>; Linux Next Mailing List >> <linux-next@xxxxxxxxxxxxxxx>; Linux Kernel Mailing List >> <linux-kernel@xxxxxxxxxxxxxxx>; linux-pci <linux-pci@xxxxxxxxxxxxxxx>; >> Karthikeyan Mitran <m.karthikeyan@xxxxxxxxxxxxxx> >> Subject: Re: linux-next: Tree for Mar 12 (pci/controller/mobiveil/) >> >> On Thu, Mar 12, 2020 at 08:13:50AM -0700, Randy Dunlap wrote: >>> On 3/12/20 3:04 AM, Stephen Rothwell wrote: >>>> Hi all, >>>> >>>> Changes since 20200311: >>>> >>> >>> on i386: >>> # CONFIG_PCI_MSI is not set >>> >>> WARNING: unmet direct dependencies detected for PCIE_MOBIVEIL_HOST >>> Depends on [n]: PCI [=y] && PCI_MSI_IRQ_DOMAIN [=n] >>> Selected by [y]: >>> - PCIE_MOBIVEIL_PLAT [=y] && PCI [=y] && (ARCH_ZYNQMP || >> COMPILE_TEST [=y]) && OF [=y] >> >> Thanks, Randy. >> >> I'm not sure if this is a new problem introduced by something in my >> "next" branch, or if this is an existing problem we just happened to >> hit with randconfig. >> >> Here are the commits on remotes/lorenzo/pci/mobiveil branch: >> >> d29ad70a813b ("PCI: mobiveil: Add PCIe Gen4 RC driver for Layerscape >> SoCs") >> 3edeb49525bb ("dt-bindings: PCI: Add NXP Layerscape SoCs PCIe Gen4 >> controller") >> 11d22cc395ca ("PCI: mobiveil: Add Header Type field check") >> 029dea3cdc67 ("PCI: mobiveil: Add 8-bit and 16-bit CSR register >> accessors") >> 52cae4c7082f ("PCI: mobiveil: Allow mobiveil_host_init() to be used to >> re-init host") >> fc99b3311af7 ("PCI: mobiveil: Add callback function for link up check") >> ed620e96541f ("PCI: mobiveil: Add callback function for interrupt >> initialization") >> 03bdc3884019 ("PCI: mobiveil: Modularize the Mobiveil PCIe Host Bridge IP >> driver") >> 39e3a03eea5b ("PCI: mobiveil: Collect the interrupt related operations into >> a function") >> 2ba24842d6b4 ("PCI: mobiveil: Move the host initialization into a function") >> 1f442218d657 ("PCI: mobiveil: Introduce a new structure >> mobiveil_root_port") >> >> I dropped that mobiveil branch for now, so Hou, can you please check >> this out and resolve it one way or the other? > > I don't reproduce this issue with i386_defconfig, can you help me to reproduce it? Sure, see below. > Thanks, > Zhiqiang > >> >>> ../drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:375:15: error: >> variable ‘mobiveil_msi_domain_info’ has initializer but incomplete type >>> static struct msi_domain_info mobiveil_msi_domain_info = { >>> ^~~~~~~~~~~~~~~ >>> ../drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:376:3: error: ‘struct >> msi_domain_info’ has no member named ‘flags’ >>> .flags = (MSI_FLAG_USE_DEF_DOM_OPS | >> MSI_FLAG_USE_DEF_CHIP_OPS | >>> ^~~~~ >>> ../drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:376:12: error: >> ‘MSI_FLAG_USE_DEF_DOM_OPS’ undeclared here (not in a function); did >> you mean ‘SIMPLE_DEV_PM_OPS’? >>> .flags = (MSI_FLAG_USE_DEF_DOM_OPS | >> MSI_FLAG_USE_DEF_CHIP_OPS | >>> ^~~~~~~~~~~~~~~~~~~~~~~~ >>> SIMPLE_DEV_PM_OPS >>> ../drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:376:39: error: >> ‘MSI_FLAG_USE_DEF_CHIP_OPS’ undeclared here (not in a function); did >> you mean ‘MSI_FLAG_USE_DEF_DOM_OPS’? >>> .flags = (MSI_FLAG_USE_DEF_DOM_OPS | >> MSI_FLAG_USE_DEF_CHIP_OPS | >>> >> ^~~~~~~~~~~~~~~~~~~~~~~~~ >>> >> MSI_FLAG_USE_DEF_DOM_OPS >>> ../drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:377:6: error: >> ‘MSI_FLAG_PCI_MSIX’ undeclared here (not in a function); did you mean >> ‘SS_FLAG_BITS’? >>> MSI_FLAG_PCI_MSIX), >>> ^~~~~~~~~~~~~~~~~ >>> SS_FLAG_BITS >>> ../drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:376:11: warning: >> excess elements in struct initializer >>> .flags = (MSI_FLAG_USE_DEF_DOM_OPS | >> MSI_FLAG_USE_DEF_CHIP_OPS | >>> ^ >>> ../drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:376:11: note: (near >> initialization for ‘mobiveil_msi_domain_info’) >>> ../drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:378:3: error: ‘struct >> msi_domain_info’ has no member named ‘chip’ >>> .chip = &mobiveil_msi_irq_chip, >>> ^~~~ >>> ../drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:378:10: warning: >> excess elements in struct initializer >>> .chip = &mobiveil_msi_irq_chip, >>> ^ >>> ../drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:378:10: note: (near >> initialization for ‘mobiveil_msi_domain_info’) >>> ../drivers/pci/controller/mobiveil/pcie-mobiveil-host.c: In function >> ‘mobiveil_allocate_msi_domains’: >>> ../drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:469:20: error: >> implicit declaration of function ‘pci_msi_create_irq_domain’; did you mean >> ‘pci_msi_get_device_domain’? [-Werror=implicit-function-declaration] >>> msi->msi_domain = pci_msi_create_irq_domain(fwnode, >>> ^~~~~~~~~~~~~~~~~~~~~~~~~ >>> pci_msi_get_device_domain >>> ../drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:469:18: warning: >> assignment makes pointer from integer without a cast [-Wint-conversion] >>> msi->msi_domain = pci_msi_create_irq_domain(fwnode, >>> ^ >>> ../drivers/pci/controller/mobiveil/pcie-mobiveil-host.c: At top level: >>> ../drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:375:31: error: >> storage size of ‘mobiveil_msi_domain_info’ isn’t known >>> static struct msi_domain_info mobiveil_msi_domain_info = { >>> ^~~~~~~~~~~~~~~~~~~~~~~~ >>> >>> >>> >>> Full randconfig file is attached. Use the .config file that was attached in the report. -- ~Randy