Re: [PATCH v5 3/3] vfio/pci: Fix typo in macro to declare accessors

Gerd Bayer
2024-06-18T18:04:37Z

On Tue, 2024-06-18 at 11:20 -0600, Alex Williamson wrote:
> On Wed,  5 Jun 2024 18:01:12 +0200
> Gerd Bayer <gbayer@linux.ibm.com> wrote:
>
> > Correct spelling of DECLA[RA]TION
>
> But why did we also transfer the semicolon from the body of the macro
> to the call site?  This doesn't match how we handle macros for
> VFIO_IOWRITE, VFIO_IOREAD, or the new VFIO_IORDWR added in this
> series.
> Thanks,
>
> Alex

Hi Alex,

I wanted to make it visible, already in the contracted form, that
VFIO_IO{READ|WRITE}_DECLARATION is in fact expanding to a function
prototype declaration, while the marco defines in
drivers/vfio/pci/vfio_pci_core.c expand to function implementations.

My quick searching for in-tree precedence was pretty inconclusive
though. So, I can revert that if you want.

Thank you,
Gerd

> > Suggested-by: Ramesh Thomas <ramesh.thomas@intel.com>
> > Signed-off-by: Gerd Bayer <gbayer@linux.ibm.com>
> > ---
> >  include/linux/vfio_pci_core.h | 24 ++++++++++++------------
> >  1 file changed, 12 insertions(+), 12 deletions(-)
> >
> > diff --git a/include/linux/vfio_pci_core.h
> > b/include/linux/vfio_pci_core.h
> > index f4cf5fd2350c..fa59d40573f1 100644
> > --- a/include/linux/vfio_pci_core.h
> > +++ b/include/linux/vfio_pci_core.h
> > @@ -139,26 +139,26 @@ bool
> > vfio_pci_core_range_intersect_range(loff_t buf_start, size_t
> > buf_cnt,
> >   loff_t *buf_offset,
> >   size_t *intersect_count,
> >   size_t *register_offset);
> > -#define VFIO_IOWRITE_DECLATION(size) \
> > +#define VFIO_IOWRITE_DECLARATION(size) \
> >  int vfio_pci_core_iowrite##size(struct vfio_pci_core_device
> > *vdev, \
> > - bool test_mem, u##size val, void __iomem
> > *io);
> > + bool test_mem, u##size val, void __iomem
> > *io)
> >
> > -VFIO_IOWRITE_DECLATION(8)
> > -VFIO_IOWRITE_DECLATION(16)
> > -VFIO_IOWRITE_DECLATION(32)
> > +VFIO_IOWRITE_DECLARATION(8);
> > +VFIO_IOWRITE_DECLARATION(16);
> > +VFIO_IOWRITE_DECLARATION(32);
> >  #ifdef iowrite64
> > -VFIO_IOWRITE_DECLATION(64)
> > +VFIO_IOWRITE_DECLARATION(64);
> >  #endif
> >
> > -#define VFIO_IOREAD_DECLATION(size) \
> > +#define VFIO_IOREAD_DECLARATION(size) \
> >  int vfio_pci_core_ioread##size(struct vfio_pci_core_device
> > *vdev, \
> > - bool test_mem, u##size *val, void __iomem
> > *io);
> > + bool test_mem, u##size *val, void __iomem
> > *io)
> >
> > -VFIO_IOREAD_DECLATION(8)
> > -VFIO_IOREAD_DECLATION(16)
> > -VFIO_IOREAD_DECLATION(32)
> > +VFIO_IOREAD_DECLARATION(8);
> > +VFIO_IOREAD_DECLARATION(16);
> > +VFIO_IOREAD_DECLARATION(32);
> >  #ifdef ioread64
> > -VFIO_IOREAD_DECLATION(64)
> > +VFIO_IOREAD_DECLARATION(64);
> >  #endif
> >
> >  #endif /* VFIO_PCI_CORE_H */
>
>