2011/12/9 Franky Lin <frankyl@xxxxxxxxxxxx>: > From: Arend van Spriel <arend@xxxxxxxxxxxx> > > The BCMA header only had definitions for 32-bit register access. Used > those as a template for the 16-bit flavour. Also changed them to inline > functions to be on the safe side. As offset parameter is used twice there > would be a problem when used like this: bcma_set32(core, offset++, val); > > Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> > Reviewed-by: Alwin Beukers <alwin@xxxxxxxxxxxx> > Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> > Signed-off-by: Franky Lin <frankyl@xxxxxxxxxxxx> > --- > include/linux/bcma/bcma.h | 32 ++++++++++++++++++++++++++------ > 1 files changed, 26 insertions(+), 6 deletions(-) > > diff --git a/include/linux/bcma/bcma.h b/include/linux/bcma/bcma.h > index 4d4b59d..de6057f 100644 > --- a/include/linux/bcma/bcma.h > +++ b/include/linux/bcma/bcma.h > @@ -254,12 +254,32 @@ void bcma_awrite32(struct bcma_device *core, u16 offset, u32 value) > core->bus->ops->awrite32(core, offset, value); > } > > -#define bcma_mask32(cc, offset, mask) \ > - bcma_write32(cc, offset, bcma_read32(cc, offset) & (mask)) > -#define bcma_set32(cc, offset, set) \ > - bcma_write32(cc, offset, bcma_read32(cc, offset) | (set)) > -#define bcma_maskset32(cc, offset, mask, set) \ > - bcma_write32(cc, offset, (bcma_read32(cc, offset) & (mask)) | (set)) > +static inline void bcma_mask32(struct bcma_device *cc, u16 offset, u32 mask) > +{ > + bcma_write32(cc, offset, bcma_read32(cc, offset) & mask); > +} > +static inline void bcma_set32(struct bcma_device *cc, u16 offset, u32 set) > +{ > + bcma_write32(cc, offset, bcma_read32(cc, offset) | set); > +} > +static inline void bcma_maskset32(struct bcma_device *cc, > + u16 offset, u32 mask, u32 set) > +{ > + bcma_write32(cc, offset, (bcma_read32(cc, offset) & mask) | set); > +} What is an advantage of static inline over define? -- Rafał -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html