Re: [PATCH] PCI: rcar-ep: Include linux/pci-epf.h instead of linux/pci-epc.h

From: Damien Le Moal
Date: Wed Jul 05 2023 - 17:53:18 EST


On 7/5/23 22:15, Krzysztof Wilczyński wrote:
> Hello,
>
>>>>> pci-epc.h doesn't define the members of the pci_epf_header struct, so
>>>>> trying to access them results in errors like this:
>>>>>
>>>>> error: invalid use of undefined type 'struct pci_epf_header'
>>>>> 167 | val = hdr->vendorid;
>>>>>
>>>>> Instead let's include pci-epf.h which not only defines the
>>>>> pci_epf_header but also includes pci-epc.h.
>>>
>>> [...]
>>>> It is odd that the the build bot did not detect this...
>>>
>>> This is a bit of a surprise to me too, especially since none of the usual
>>> bots pick this up, and I can't seem to find such a failure in the nightly
>>> CI logs either.
>>>
>>> Alistair, how did you stumble into this issue? Also, which version or
>>> a tree would that be?
>>
>> I was building the kernel with this defconfig [1] inside OpenEmbedded.
>> It was the 6.4-rc7 kernel, specifically this one [2].
>>
>> 1: https://github.com/damien-lemoal/buildroot/blob/rockpro64_ep_v23/board/pine64/rockpro64_ep/linux.config
>> 2: https://github.com/damien-lemoal/linux/tree/rockpro64_ep_v23
>
> Thank you! Much appreciated.
>
> So, the vanilla kernel does not have headers arranged like this custom tree
> that Damien maintains for his own needs, per:
>
> - https://elixir.bootlin.com/linux/v6.4-rc7/source/include/linux/pci-epc.h
> - https://elixir.bootlin.com/linux/v6.4-rc7/source/include/linux/pci-epf.h
>
> I suppose, there are some changes that break it for you, for example:
>
> https://github.com/damien-lemoal/linux/commit/c7aa8ddd76a141b975a097532050a76c6a58c436

Arg ! Yes, my bad ! The patches in this tree are a work-in-progress and I am
waiting for 6.5-rc1 to rebase everything and re-testing before posting them.
This is all tested using the rockchip-ep controller and I did not compile test
other controllers. I will make sure to do that before posting :)

Apologies for the noise.

>
> So, I cannot take this patch as it would break vanilla kernel for us. :)
>
> Try building using vanilla kernel, and see if that helps.
>
> Krzysztof

--
Damien Le Moal
Western Digital Research