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