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 > Signed-off-by: Krzysztof Wilczyński > --- > 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 -- i.