Subject: Re: linux-next: Tree for Mar 12 (pci/controller/mobiveil/)

From: Randy Dunlap <[email-masked]>
Date: Mon, 16 Mar 2020 21:58:31 -0700

On 3/16/20 9:31 PM, Z.q. Hou wrote:
> Hi Randy and Bjorn,
> 
>> -----Original Message-----
>> From: Bjorn Helgaas <[email-masked]>
>> Sent: 2020年3月13日 3:39
>> To: Z.q. Hou <[email-masked]>
>> Cc: Randy Dunlap <[email-masked]>; Stephen Rothwell
>> <[email-masked]>; Linux Next Mailing List
>> <[email-masked]>; Linux Kernel Mailing List
>> <[email-masked]>; linux-pci <[email-masked]>;
>> Karthikeyan Mitran <[email-masked]>
>> 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