[PATCH] SB600 for the Nemo board has non-zero devices on non-root bus

Bjorn Helgaas bhelgaas at google.com
Thu Nov 30 06:46:57 AEDT 2017


On Wed, Nov 29, 2017 at 1:28 PM, Christian Zigotzky
<chzigotzky at xenosoft.de> wrote:
> On 23 November 2017 2:31PM, Michael Ellerman wrote:
>>
>> Hi Christian,
>>
>> Thanks for your patch.
>>
>> Christian Zigotzky <chzigotzky at xenosoft.de> writes:
>>>
>>> Hi All,
>>>
>>> Just a small patch for the P.A. Semi Nemo board:
>>>
>>> -----
>>>
>>> diff -rupN a/drivers/pci/probe.c b/drivers/pci/probe.c
>>> --- a/drivers/pci/probe.c    2017-11-16 08:18:40.504012010 +0100
>>> +++ b/drivers/pci/probe.c    2017-11-16 08:17:22.044368405 +0100
>>> @@ -2219,6 +2219,8 @@ static int only_one_child(struct pci_bus
>>
>> As this is a patch to the PCI code I can't merge it via the powerpc
>> tree. You would need to send it to linux-pci at vger.kernel.org.
>>
>>>        if (!parent || !pci_is_pcie(parent))
>>>            return 0;
>>> +    #ifndef CONFIG_PPC_PASEMI_NEMO
>>> +    // SB600 for the Nemo board has non-zero devices on non-root bus.
>>>        if (pci_pcie_type(parent) == PCI_EXP_TYPE_ROOT_PORT)
>>>            return 1;
>>>
>>> @@ -2231,6 +2233,7 @@ static int only_one_child(struct pci_bus
>>>        if (parent->has_secondary_link &&
>>>            !pci_has_flag(PCI_SCAN_ALL_PCIE_DEVS))
>>>            return 1;
>>> +    #endif
>>
>> But the PCI maintainer is not going to accept a patch like this, which
>> adds a platform specific #ifdef in core code like this.
>>
>> If you look at the rest of that file I don't think you'll find a single
>> #ifdef other than for generic configuration symbols.
>>
>> Are you sure the PCI_SCAN_ALL_PCIE_DEVS logic doesn't work for you? It
>> sounds like it was added for exactly this problem.
>>
>> cheers
>>
> Hi Michael,
>
> Thanks for your reply. Sorry for my late answer. I removed the patch above
> from the RC1 and compiled the RC1 again. Unfortunately without the patch,
> the kernel doesn't recognize any drives and partitions. Do you have another
> idea?

What happens if you boot RC1 with "pci=pcie_scan_all"?  If that works,
we do have some quirks that set that automatically, and we might be
able to add another one for the Nemo.

Can you collect the complete "lspci -vv" and dmesg output for this
system?  I'm curious about why it is special.

Bjorn


More information about the Linuxppc-dev mailing list