Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1598626

Re: [PATCH] staging: comedi: amplc_pci224: Convert macro GAT_CONFIG to static inline function

From Greg KH <gregkh@linuxfoundation.org>
Newsgroups linux.kernel
Subject Re: [PATCH] staging: comedi: amplc_pci224: Convert macro GAT_CONFIG to static inline function
Date 2017-03-12 15:00 +0100
Message-ID <tkccp-2gk-5@gated-at.bofh.it> (permalink)
References <tjs9B-43z-47@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Fri, Mar 10, 2017 at 06:12:31PM +0530, simran singhal wrote:
> Convert macro GAT_CONFIG to static inline function as static inline
> functions are preferred over macros. This change is possible since the
> arguments at all call sites have the same type.
> 
> This was done using Coccinelle:
> 
> @r@
> expression e;
> @@
> - #define GAT_CONFIG(chan, src) e
> + static inline unsigned int pci230_gat_config(unsigned int chan,
> +                                              unsigned int src)

Where did you get the name from?

> +{
> +       return ((chan & 3) << 3) | (src & 7);
> +}
> 
> @r1@
> expression dev,reg,chan,src;
> @@
> -GAT_CONFIG(chan, src)
> +pci230_gat_config(chan, src)
> 
> Also, the comment describing the macro has been removed manually.
> 
> Signed-off-by: simran singhal <singhalsimran0@gmail.com>
> ---
>  drivers/staging/comedi/drivers/amplc_pci224.c | 14 ++++++++++----
>  1 file changed, 10 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/staging/comedi/drivers/amplc_pci224.c b/drivers/staging/comedi/drivers/amplc_pci224.c
> index 2e6decf..46026f5 100644
> --- a/drivers/staging/comedi/drivers/amplc_pci224.c
> +++ b/drivers/staging/comedi/drivers/amplc_pci224.c
> @@ -216,8 +216,12 @@
>  #define GAT_GND		1	/* GND (i.e. disabled) */
>  #define GAT_EXT		2	/* reserved (external gate input) */
>  #define GAT_NOUTNM2	3	/* inverted output of channel-2 modulo total */
> -/* Macro to construct gate input configuration register value. */
> -#define GAT_CONFIG(chan, src)	((((chan) & 3) << 3) | ((src) & 7))
> +
> +static inline unsigned int pci230_gat_config(unsigned int chan,
> +					     unsigned int src)
> +{
> +	return ((chan & 3) << 3) | (src & 7);
> +}
>  
>  /*
>   * Summary of CLK_OUTNM1 and GAT_NOUTNM2 connections for PCI224 and PCI234:
> @@ -817,10 +821,12 @@ static void pci224_ao_start_pacer(struct comedi_device *dev,
>  	 * source.
>  	 */
>  	/* Make sure Z2-0 is gated on.  */
> -	outb(GAT_CONFIG(0, GAT_VCC), devpriv->iobase1 + PCI224_ZGAT_SCE);
> +	outb(pci230_gat_config(0, GAT_VCC),
> +	     devpriv->iobase1 + PCI224_ZGAT_SCE);

Why put this on 2 lines?

>  	/* Cascading with Z2-2. */
>  	/* Make sure Z2-2 is gated on.  */
> -	outb(GAT_CONFIG(2, GAT_VCC), devpriv->iobase1 + PCI224_ZGAT_SCE);
> +	outb(pci230_gat_config(2, GAT_VCC),
> +	     devpriv->iobase1 + PCI224_ZGAT_SCE);

Same here?

thanks,

greg k-h

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH] staging: comedi: amplc_pci224: Convert macro GAT_CONFIG to  static inline function simran singhal <singhalsimran0@gmail.com> - 2017-03-10 13:50 +0100
  Re: [PATCH] staging: comedi: amplc_pci224: Convert macro GAT_CONFIG  to static inline function Greg KH <gregkh@linuxfoundation.org> - 2017-03-12 15:00 +0100
    Re: [PATCH] staging: comedi: amplc_pci224: Convert macro GAT_CONFIG  to static inline function SIMRAN SINGHAL <singhalsimran0@gmail.com> - 2017-03-12 15:50 +0100

csiph-web