[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