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

From: Julia Lawall
Date: Sun Mar 12 2017 - 11:45:35 EST




On Sun, 12 Mar 2017, 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 pci224_gat_config(unsigned int chan,
> + unsigned int src)
> +{
> + return ((chan & 3) << 3) | (src & 7);
> +}

It doesn't really make sense to do this part with Coccinelle. It is quite
a one-shot change.

You could say that the uses were updated with Coccinelle and give that
rule.

julia

>
> @r1@
> expression dev,reg,chan,src;
> @@
> -GAT_CONFIG(chan, src)
> +pci224_gat_config(chan, src)
>
> Also, the comment describing the macro has been removed manually.
>
> Signed-off-by: simran singhal <singhalsimran0@xxxxxxxxx>
> ---
>
> v2:
> -Change the name of static inline function
> -put some code from 2 line to 1 line
>
> drivers/staging/comedi/drivers/amplc_pci224.c | 12 ++++++++----
> 1 file changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/staging/comedi/drivers/amplc_pci224.c b/drivers/staging/comedi/drivers/amplc_pci224.c
> index 2e6decf..07555cf 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 pci224_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,10 @@ 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(pci224_gat_config(0, GAT_VCC), devpriv->iobase1 + PCI224_ZGAT_SCE);
> /* Cascading with Z2-2. */
> /* Make sure Z2-2 is gated on. */
> - outb(GAT_CONFIG(2, GAT_VCC), devpriv->iobase1 + PCI224_ZGAT_SCE);
> + outb(pci224_gat_config(2, GAT_VCC), devpriv->iobase1 + PCI224_ZGAT_SCE);
> /* Z2-2 needs 10 MHz clock. */
> outb(CLK_CONFIG(2, CLK_10MHZ), devpriv->iobase1 + PCI224_ZCLK_SCE);
> /* Z2-0 is clocked from Z2-2's output. */
> --
> 2.7.4
>
> --
> You received this message because you are subscribed to the Google Groups "outreachy-kernel" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to outreachy-kernel+unsubscribe@xxxxxxxxxxxxxxxxx
> To post to this group, send email to outreachy-kernel@xxxxxxxxxxxxxxxxx
> To view this discussion on the web visit https://groups.google.com/d/msgid/outreachy-kernel/20170312153329.GA20729%40singhal-Inspiron-5558.
> For more options, visit https://groups.google.com/d/optout.
>