Re: [PATCH 04/36] usb: serial: ti_usb_3410_5052: Use inline functions rather than macro

From: Johan Hovold
Date: Fri Jul 15 2016 - 06:50:37 EST


On Thu, May 12, 2016 at 03:00:39PM +0300, Sergei Shtylyov wrote:
> Hello.
>
> On 5/12/2016 11:48 AM, Mathieu OTHACEHE wrote:
>
> > Inline functions are preferable to macros resembling functions.
> >
> > Signed-off-by: Mathieu OTHACEHE <m.othacehe@xxxxxxxxx>
> > ---
> > drivers/usb/serial/ti_usb_3410_5052.c | 16 ++++++++++++----
> > 1 file changed, 12 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/usb/serial/ti_usb_3410_5052.c b/drivers/usb/serial/ti_usb_3410_5052.c
> > index 6002e8b..2fc3ea1 100644
> > --- a/drivers/usb/serial/ti_usb_3410_5052.c
> > +++ b/drivers/usb/serial/ti_usb_3410_5052.c
> > @@ -248,8 +248,16 @@ struct ti_interrupt {
> > } __packed;
> >
> > /* Interrupt codes */
> > -#define TI_GET_PORT_FROM_CODE(c) (((c) >> 4) - 3)
> > -#define TI_GET_FUNC_FROM_CODE(c) ((c) & 0x0f)
> > +static inline int ti_get_port_from_code(unsigned char code)
> > +{
> > + return (code >> 4) - 3;
> > +}
> > +
> > +static inline int ti_get_func_from_code(unsigned char code)
> > +{
> > + return code & 0x0f;
> > +}
> > +
>
> We don't specify *inline* in the .c files (only in .h), letting gcc figure
> it out.

Indeed. I dropped the inline keywords and also moved the functions above
the interrupt-in completion handler, which is the only place they are
used.

Thanks,
Johan