summaryrefslogtreecommitdiff
path: root/drivers/hid/i2c-hid/i2c-hid.c
diff options
context:
space:
mode:
authorBenjamin Tissoires <benjamin.tissoires@gmail.com>2012-12-04 16:27:46 +0100
committerJiri Kosina <jkosina@suse.cz>2012-12-05 10:56:45 +0100
commitfa738644e57d5fd54b8c0a4f5a7815972e65ce1a (patch)
tree80adc23472707f641f72a28fdc2e937ba025e395 /drivers/hid/i2c-hid/i2c-hid.c
parentee8e8806348732e328d119418a9788aabeceed0a (diff)
downloadlinux-3.10-fa738644e57d5fd54b8c0a4f5a7815972e65ce1a.tar.gz
linux-3.10-fa738644e57d5fd54b8c0a4f5a7815972e65ce1a.tar.bz2
linux-3.10-fa738644e57d5fd54b8c0a4f5a7815972e65ce1a.zip
HID: i2c-hid: fix i2c_hid_dbg macro
This avoids the problematic case: if (condition) i2c_hid_dbg(ihid, "Blah blah %d\n", i); else do_something_very_important(); Which looks correct, however with the previous macro definition, this expands to the unexpected: if (condition) { if (debug) \ dev_printk(KERN_DEBUG, &ihid->client->dev, "Blah blah %d\n", i); else do_something_very_important(); } Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com> Reviewed-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid/i2c-hid/i2c-hid.c')
-rw-r--r--drivers/hid/i2c-hid/i2c-hid.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/hid/i2c-hid/i2c-hid.c b/drivers/hid/i2c-hid/i2c-hid.c
index 3c8fe467370..d95e8de6a92 100644
--- a/drivers/hid/i2c-hid/i2c-hid.c
+++ b/drivers/hid/i2c-hid/i2c-hid.c
@@ -50,9 +50,11 @@ static bool debug;
module_param(debug, bool, 0444);
MODULE_PARM_DESC(debug, "print a lot of debug information");
-#define i2c_hid_dbg(ihid, fmt, arg...) \
- if (debug) \
- dev_printk(KERN_DEBUG, &(ihid)->client->dev, fmt, ##arg)
+#define i2c_hid_dbg(ihid, fmt, arg...) \
+do { \
+ if (debug) \
+ dev_printk(KERN_DEBUG, &(ihid)->client->dev, fmt, ##arg); \
+} while (0)
struct i2c_hid_desc {
__le16 wHIDDescLength;