Re: [PATCH RESEND v5 1/4] PCI: Clean up pci_scan_slot()

From: Niklas Schnelle
Date: Thu May 12 2022 - 10:57:12 EST


On Thu, 2022-05-05 at 10:38 +0200, Niklas Schnelle wrote:
> While determining the next PCI function is factored out of
> pci_scan_slot() into next_fn() the former still handles the first
> function as a special case. This duplicates the code from the scan loop.
>
> Furthermore the non ARI branch of next_fn() is generally hard to
> understand and especially the check for multifunction devices is hidden
> in the handling of NULL devices for non-contiguous multifunction. It
> also signals that no further functions need to be scanned by returning
> 0 via wraparound and this is a valid function number.
>
> Improve upon this by transforming the conditions in next_fn() to be
> easier to understand.
>
> By changing next_fn() to return -ENODEV instead of 0 when there is no
> next function we can then handle the initial function inside the loop
> and deduplicate the shared handling. This also makes it more explicit
> that only function 0 must exist.
>
> No functional change is intended.
>
> Cc: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
> Signed-off-by: Niklas Schnelle <schnelle@xxxxxxxxxxxxx>
> ---

Friendly ping :-)