]> www.infradead.org Git - users/hch/misc.git/commit
PCI: Deprecate pcim_iomap_table(), pcim_iomap_regions_request_all()
authorPhilipp Stanner <pstanner@redhat.com>
Thu, 13 Jun 2024 11:50:17 +0000 (13:50 +0200)
committerKrzysztof Wilczyński <kwilczynski@kernel.org>
Wed, 10 Jul 2024 04:19:46 +0000 (04:19 +0000)
commite354bb84a4c1cbb928e052260cc5ce12ec6722ff
tree212c3ff76e1d92ad24fa431c27d27db0e31ce9c6
parentbbaff68bf4a404bee5f5e20e7b1e30301b26304a
PCI: Deprecate pcim_iomap_table(), pcim_iomap_regions_request_all()

Deprecate pcim_iomap_table().  It returns a pointer to a table of
ioremapped BARs, or NULL if it fails.  This makes uses like this:

  addr = pcim_iomap_table(pdev)[0];

problematic because it causes a NULL pointer dereference on failure.
Callers should use pcim_iomap() instead.

Deprecate pcim_iomap_regions_request_all() because it is built on
__pci_request_region() and is managed if pcim_enable_device() has been
called, but unmanaged otherwise, which is prone to errors.

Callers should either use pcim_iomap_regions() to request and map BARs, or
use pcim_request_region() followed by pcim_iomap().

Link: https://lore.kernel.org/r/20240613115032.29098-5-pstanner@redhat.com
Signed-off-by: Philipp Stanner <pstanner@redhat.com>
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
[bhelgaas: commit log, sphinx markup]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/devres.c