[PATCH v4 02/24] PCI: Add pci_resource_is_io() and pci_resource_is_mem() helpers
Ilpo Järvinen
ilpo.jarvinen at linux.intel.com
Mon Apr 13 21:19:27 AEST 2026
On Sat, 11 Apr 2026, Krzysztof Wilczyński wrote:
> Add helpers to check whether a PCI resource is of I/O port or
> memory type. These replace the open-coded pci_resource_flags()
> with IORESOURCE_IO and IORESOURCE_MEM pattern used across the
> tree.
>
> Suggested-by: Ilpo Järvinen <ilpo.jarvinen at linux.intel.com>
> Signed-off-by: Krzysztof Wilczyński <kwilczynski at kernel.org>
> ---
> include/linux/pci.h | 25 +++++++++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
> diff --git a/include/linux/pci.h b/include/linux/pci.h
> index 1c270f1d5123..05aceb7f1f37 100644
> --- a/include/linux/pci.h
> +++ b/include/linux/pci.h
> @@ -2295,6 +2295,31 @@ int pci_iobar_pfn(struct pci_dev *pdev, int bar, struct vm_area_struct *vma);
> CONCATENATE(__pci_dev_for_each_res, COUNT_ARGS(__VA_ARGS__)) \
> (dev, res, __VA_ARGS__)
>
> +/**
> + * pci_resource_is_io - check if a PCI resource is of I/O port type.
> + * @dev: PCI device to check.
> + * @resno: The resource number (BAR index) to check.
> + *
> + * Returns true if the resource type is I/O port.
> + */
> +static inline bool pci_resource_is_io(const struct pci_dev *dev, int resno)
> +{
> + return resource_type(pci_resource_n(dev, resno)) == IORESOURCE_IO;
> +}
> +
> +/**
> + * pci_resource_is_mem - check if a PCI resource is of memory type.
> + * @dev: PCI device to check.
> + * @resno: The resource number (BAR index) to check.
> + *
> + * Returns true if the resource type is memory, including
> + * prefetchable memory.
> + */
> +static inline bool pci_resource_is_mem(const struct pci_dev *dev, int resno)
> +{
> + return resource_type(pci_resource_n(dev, resno)) == IORESOURCE_MEM;
> +}
> +
> /*
> * Similar to the helpers above, these manipulate per-pci_dev
> * driver-specific data. They are really just a wrapper around
>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen at linux.intel.com>
--
i.
More information about the Linuxppc-dev
mailing list