Re: [PATCH v1 1/1] fpga: dfl: pci: Use pci_find_vsec_capability() when looking for DFL

From: Tom Rix
Date: Tue Nov 09 2021 - 13:28:08 EST



On 11/9/21 10:05 AM, Andy Shevchenko wrote:
On Tue, Nov 09, 2021 at 07:55:43AM -0800, Tom Rix wrote:
On 11/9/21 7:41 AM, Andy Shevchenko wrote:
Currently the find_dfls_by_vsec() opens code pci_find_vsec_capability().
Refactor the former to use the latter. No functional change intended.
Thanks for review, my answers below.

...

+ u16 voff;
The later use of voff in pci_read_config_dword is of type 'int', it may be
better to keep voff as an int.
I don't think so. The rule of thumb that the types should match the value they
got in the first place. In this case it's u16. Compiler will implicitly cast it
to whatever is needed as long as the type is good for integer promotion.

...

+ voff = pci_find_vsec_capability(dev, PCI_VENDOR_ID_INTEL, PCI_VSEC_ID_INTEL_DFLS);
This may be a weakness in the origin code, but intel isn't the exclusive
user of DFL.
This does not change the original code. If you think so, this can be extended
later on.

I would rather see this fixed now or explained why this isn't a problem.

Tom


if (!voff) {
dev_dbg(&pcidev->dev, "%s no DFL VSEC found\n", __func__);
return -ENODEV;