Thread (19 messages) 19 messages, 4 authors, 2024-08-21

Re: [PATCH v2 6/9] ethernet: stmicro: Simplify PCI devres usage

From: Andy Shevchenko <hidden>
Date: 2024-08-21 08:14:59
Also in: linux-arm-kernel, linux-block, linux-doc, linux-fpga, linux-gpio, linux-pci, lkml, virtualization

On Wed, Aug 21, 2024 at 10:19 AM Philipp Stanner [off-list ref] wrote:
stmicro uses PCI devres in the wrong way. Resources requested
through pcim_* functions don't need to be cleaned up manually in the
remove() callback or in the error unwind path of a probe() function.
Moreover, there is an unnecessary loop which only requests and ioremaps
BAR 0, but iterates over all BARs nevertheless.
Seems like loongson was cargo-culted a lot without a clear
understanding of this code in the main driver...
Furthermore, pcim_iomap_regions() and pcim_iomap_table() have been
deprecated by the PCI subsystem in commit e354bb84a4c1 ("PCI: Deprecate
pcim_iomap_table(), pcim_iomap_regions_request_all()").

Replace these functions with pcim_iomap_region().

Remove the unnecessary manual pcim_* cleanup calls.

Remove the unnecessary loop over all BARs.
...
-       for (i = 0; i < PCI_STD_NUM_BARS; i++) {
-               if (pci_resource_len(pdev, i) == 0)
-                       continue;
-               pcim_iounmap_regions(pdev, BIT(i));
Here is the BARx, which contradicts the probe :-)
-               break;
-       }
-- 
With Best Regards,
Andy Shevchenko
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help