[Intel-wired-lan] [PATCH iwl-next v2 03/14] libie: add PCI device initialization helpers to libie

Simon Horman horms at kernel.org
Tue May 6 15:56:10 UTC 2025


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 <phani.r.burra at intel.com>
> > > 
> > > Add memory related support functions for drivers to access MMIO space and
> > > allocate/free dma buffers.
> > > 
> > > Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski at intel.com>
> > > Signed-off-by: Phani R Burra <phani.r.burra at intel.com>
> > > Co-developed-by: Victor Raj <victor.raj at intel.com>
> > > Signed-off-by: Victor Raj <victor.raj at intel.com>
> > > Co-developed-by: Sridhar Samudrala <sridhar.samudrala at intel.com>
> > > Signed-off-by: Sridhar Samudrala <sridhar.samudrala at intel.com>
> > > Co-developed-by: Pavan Kumar Linga <pavan.kumar.linga at intel.com>
> > > Signed-off-by: Pavan Kumar Linga <pavan.kumar.linga at intel.com>
> > > Co-developed-by: Larysa Zaremba <larysa.zaremba at intel.com>
> > > Signed-off-by: Larysa Zaremba <larysa.zaremba at intel.com>
> > 
> > ...
> > 
> > > 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
> > > 
> > 
> 


More information about the Intel-wired-lan mailing list