On 3/17/20 3:05 AM, Z.q. Hou wrote: > Hi Randy, > >> -----Original Message----- >> From: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> >> Sent: 2020年3月17日 12:59 >> To: Z.q. Hou <zhiqiang.hou@xxxxxxx>; Bjorn Helgaas <helgaas@xxxxxxxxxx> >> Cc: 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 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. > > One query, which default config you used to generate this .config? I cannot select > the PCIE_MOBIVEIL_PLAT in 'menuconfig' when use the i386_defconfig. Hi, I did not use any defconfig. Just cp that config file into your build directory (as .config) and do something like: $ make ARCH=i386 oldconfig -- ~Randy