On Mon, Apr 28, 2025 at 05:56:57PM +0100, Simon Horman wrote: > On Thu, Apr 24, 2025 at 01:32:26PM +0200, Larysa Zaremba wrote: > > From: Phani R Burra <phani.r.burra@xxxxxxxxx> > > > > Add memory related support functions for drivers to access MMIO space and > > allocate/free dma buffers. > > > > Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@xxxxxxxxx> > > Signed-off-by: Phani R Burra <phani.r.burra@xxxxxxxxx> > > Co-developed-by: Victor Raj <victor.raj@xxxxxxxxx> > > Signed-off-by: Victor Raj <victor.raj@xxxxxxxxx> > > Co-developed-by: Sridhar Samudrala <sridhar.samudrala@xxxxxxxxx> > > Signed-off-by: Sridhar Samudrala <sridhar.samudrala@xxxxxxxxx> > > Co-developed-by: Pavan Kumar Linga <pavan.kumar.linga@xxxxxxxxx> > > Signed-off-by: Pavan Kumar Linga <pavan.kumar.linga@xxxxxxxxx> > > Co-developed-by: Larysa Zaremba <larysa.zaremba@xxxxxxxxx> > > Signed-off-by: Larysa Zaremba <larysa.zaremba@xxxxxxxxx> > > ... > > > diff --git a/include/linux/intel/libie/pci.h b/include/linux/intel/libie/pci.h > > ... > > > +#define libie_pci_map_mmio_region(mmio_info, offset, size, ...) \ > > + __libie_pci_map_mmio_region(mmio_info, offset, size, \ > > + COUNT_ARGS(__VA_ARGS__), ##__VA_ARGS__) > > + > > +#define libie_pci_get_mmio_addr(mmio_info, offset, ...) \ > > + __libie_pci_get_mmio_addr(mmio_info, offset, \ > > + COUNT_ARGS(__VA_ARGS__), ##__VA_ARGS__) > > Perhaps I'm missing something terribly obvious. But it seems to me that > both libie_pci_map_mmio_region() and libie_pci_get_mmio_addr() are always > called with the same number of arguments in this patchset. This is true. > And if so, > perhaps the va_args handling would be best dropped. > For now (but this will change), we do not map BAR indexes other than zero, therefore it is the default less-argument variant, this looks nicer than adding ', 0);'. Still, it does not feel right to hardcode the library function to use BAR0 only, hence the variadic macro. > > + > > +bool __libie_pci_map_mmio_region(struct libie_mmio_info *mmio_info, > > + resource_size_t offset, resource_size_t size, > > + int num_args, ...); > > +void __iomem *__libie_pci_get_mmio_addr(struct libie_mmio_info *mmio_info, > > + resource_size_t region_offset, > > + int num_args, ...); > > +void libie_pci_unmap_all_mmio_regions(struct libie_mmio_info *mmio_info); > > +int libie_pci_init_dev(struct pci_dev *pdev); > > +void libie_pci_deinit_dev(struct pci_dev *pdev); > > + > > +#endif /* __LIBIE_PCI_H */ > > -- > > 2.47.0 > > >