[PATCH] raw/ifpga: fix comma warnings
Bruce Richardson
bruce.richardson at intel.com
Thu Mar 12 17:28:23 CET 2026
On Thu, Mar 12, 2026 at 09:03:03AM -0700, Stephen Hemminger wrote:
> On Thu, 12 Mar 2026 09:15:26 +0000
> Bruce Richardson <bruce.richardson at intel.com> wrote:
>
> > On Wed, Mar 11, 2026 at 05:23:36PM -0700, Stephen Hemminger wrote:
> > > The driver was open coding TAILQ_FOREACH_SAFE() in a manner
> > > that triggered warnings. Replace it with the standard one
> > > from bsd queue.h.
> > >
> > > Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
> > > ---
> > > drivers/raw/ifpga/base/ifpga_enumerate.c | 4 +---
> > > drivers/raw/ifpga/base/opae_hw_api.h | 7 +++++++
> > > 2 files changed, 8 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/drivers/raw/ifpga/base/ifpga_enumerate.c b/drivers/raw/ifpga/base/ifpga_enumerate.c
> > > index 61eb6601ea..085fb6db40 100644
> > > --- a/drivers/raw/ifpga/base/ifpga_enumerate.c
> > > +++ b/drivers/raw/ifpga/base/ifpga_enumerate.c
> > > @@ -725,9 +725,7 @@ static void dfl_fpga_enum_info_free(struct dfl_fpga_enum_info *info)
> > > return;
> > >
> > > /* remove all device feature lists in the list. */
> > > - for (dfl = TAILQ_FIRST(&info->dfls);
> > > - dfl && (tmp = TAILQ_NEXT(dfl, node), 1);
> > > - dfl = tmp) {
> > > + TAILQ_FOREACH_SAFE(dfl, &info->dfls, node, tmp) {
> > > TAILQ_REMOVE(&info->dfls, dfl, node);
> > > opae_free(dfl);
> > > }
> > > diff --git a/drivers/raw/ifpga/base/opae_hw_api.h b/drivers/raw/ifpga/base/opae_hw_api.h
> > > index 57750022dd..63cb616731 100644
> > > --- a/drivers/raw/ifpga/base/opae_hw_api.h
> > > +++ b/drivers/raw/ifpga/base/opae_hw_api.h
> > > @@ -10,6 +10,13 @@
> > > #include <stdio.h>
> > > #include <sys/queue.h>
> > >
> > > +#ifndef TAILQ_FOREACH_SAFE
> > > +#define TAILQ_FOREACH_SAFE(var, head, field, tvar) \
> > > + for ((var) = TAILQ_FIRST((head)); \
> > > + (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
> > > + (var) = (tvar))
> > > +#endif
> > > +
> >
> > I am curious as to how this is not causing warnings but the original code
> > is. Have we got builds where we are triggering this macro definition, or is
> > ever build tested already got the define?
>
> You have to ask to enable comma warnings, I think it is currently disabled
> at the driver level.
Yes, it's disabled for the drivers, but if we enable it for raw/ifpga
driver, how come this macro doesn't give the warning when it uses the exact
same structure as the original code?
More information about the dev
mailing list