From: Florian Fainelli
> Sent: 18 September 2017 22:41
> Instead of repeating the same pattern: acquire mutex, read/write, release
> mutex, define a macro: b53_build_op() which takes the type (read|write), I/O
> size, and value (scalar or pointer). This helps with fixing bugs that could
> exit (e.g: missing barrier, lock etc.).
....
> +#define b53_build_op(type, op_size, val_type)        \
> +static inline int b53_##type##op_size(struct b53_device *dev, u8 page,       
>         \
> +                                   u8 reg, val_type val)                     
> \
> +{                                                                            
> \
> +     int ret;                                                                
> \
> +                                                                             
> \
> +     mutex_lock(&dev->reg_mutex);                                            
> \
> +     ret = dev->ops->type##op_size(dev, page, reg, val);                     
> \
> +     mutex_unlock(&dev->reg_mutex);                                          
> \
> +                                                                             
> \
> +     return ret;                                                             
> \
>  }

Why separate the 'type' and 'op_size' arguments since they
are always pasted together?

        David

Reply via email to