Messages in this thread | | | Date | Wed, 20 Feb 2008 12:16:35 -0500 | From | Jeff Garzik <> | Subject | Re: [PATCH] ata: replace macro with static inline in libata.h |
| |
Harvey Harrison wrote: > Avoid ~70 sparse warnings like: > drivers/ata/pata_ali.c:176:14: warning: symbol '__x' shadows an earlier one > drivers/ata/pata_ali.c:176:14: originally declared here > > Due to nesting min_t macro inside max_t macro which both use a __x > identifier internally. > > Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> > --- > Andrew, here is a patch that drastically reduces the number of sparse > warnings in libata. Alan Cox has suggested a clamp_t macro be added > to kernel.h instead to avoid this issue. I don't believe Jeff Garzik > has given an opinion yet (other than not applying it when originally > sent this was 5/11 of the libata sparse warnings) > > include/linux/libata.h | 9 ++++++++- > 1 files changed, 8 insertions(+), 1 deletions(-) > > diff --git a/include/linux/libata.h b/include/linux/libata.h > index bc5a8d0..b5590fb 100644 > --- a/include/linux/libata.h > +++ b/include/linux/libata.h > @@ -764,7 +764,14 @@ struct ata_timing { > unsigned short udma; /* t2CYCTYP/2 */ > }; > > -#define FIT(v, vmin, vmax) max_t(short, min_t(short, v, vmax), vmin) > +static inline short FIT(short v, short vmin, short vmax) > +{ > + if (v >= vmax) > + return vmax; > + if (v <= vmin) > + return vmin; > + return v; > +}
I agree with Alan...
| |