Thread (29 messages) flat view 29 messages, 4 authors, 2017-09-19

RE: [PATCH net-next 05/12] net: dsa: b53: Use a macro to define I/O operations

From: David Laight <hidden>
Date: 2017-09-19 12:53:58

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help