Re: [RFC PATCH] tg3: Convert chip type macros to inline functions

Joe Perches
2013-02-07T01:05:41Z

On Wed, 2013-02-06 at 16:41 -0800, Michael Chan wrote:
> On Wed, 2013-02-06 at 15:44 -0800, Joe Perches wrote:
> > There are several macros that are used for
> > chip identification.
> >
> > Perhaps it'd be better to use static inlines
> > instead of these macros as the code becomes a
> > bit more readable with less uppercase use.
[]
> > #define GET_ASIC_REV(CHIP_REV_ID) ((CHIP_REV_ID) >> 12)
> >
> > becomes:
> >
> > static inline u32 tg3_asic_rev(const struct tg3 *tp)
> > {
> > return tp->pci_chip_rev_id >> 12;
> > }

[]

> I think these don't have to be inline. there is only one call in the
> fast path that I can see (tg3_start_xmit), and we can easily change that
> to test for a flag instead. I wonder if that will make it smaller.

Nope.

Even if you make it static in tg3.c,
gcc inlines it anyway.