On Mon, May 05, 2025 at 08:56:18AM +0200, Larysa Zaremba wrote:
> 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.

Thanks for the clarification. I would slightly lead towards adding
va_args support when it is needed. But I understand if you want
to stick with the approach that you have taken in this patch.

> 
> > > +
> > > +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