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 <[email protected]>
> > 
> > Add memory related support functions for drivers to access MMIO space and
> > allocate/free dma buffers.
> > 
> > Reviewed-by: Maciej Fijalkowski <[email protected]>
> > Signed-off-by: Phani R Burra <[email protected]>
> > Co-developed-by: Victor Raj <[email protected]>
> > Signed-off-by: Victor Raj <[email protected]>
> > Co-developed-by: Sridhar Samudrala <[email protected]>
> > Signed-off-by: Sridhar Samudrala <[email protected]>
> > Co-developed-by: Pavan Kumar Linga <[email protected]>
> > Signed-off-by: Pavan Kumar Linga <[email protected]>
> > Co-developed-by: Larysa Zaremba <[email protected]>
> > Signed-off-by: Larysa Zaremba <[email protected]>
> 
> ...
> 
> > 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
> > 
> 

Reply via email to