diff options
author | Benjamin Tissoires <benjamin.tissoires@gmail.com> | 2012-12-04 10:27:46 -0500 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2012-12-05 04:56:45 -0500 |
commit | fa738644e57d5fd54b8c0a4f5a7815972e65ce1a (patch) | |
tree | 80adc23472707f641f72a28fdc2e937ba025e395 | |
parent | ee8e8806348732e328d119418a9788aabeceed0a (diff) |
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>
-rw-r--r-- | drivers/hid/i2c-hid/i2c-hid.c | 8 |
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 3c8fe4673705..d95e8de6a920 100644 --- a/drivers/hid/i2c-hid/i2c-hid.c +++ b/drivers/hid/i2c-hid/i2c-hid.c | |||
@@ -50,9 +50,11 @@ static bool debug; | |||
50 | module_param(debug, bool, 0444); | 50 | module_param(debug, bool, 0444); |
51 | MODULE_PARM_DESC(debug, "print a lot of debug information"); | 51 | MODULE_PARM_DESC(debug, "print a lot of debug information"); |
52 | 52 | ||
53 | #define i2c_hid_dbg(ihid, fmt, arg...) \ | 53 | #define i2c_hid_dbg(ihid, fmt, arg...) \ |
54 | if (debug) \ | 54 | do { \ |
55 | dev_printk(KERN_DEBUG, &(ihid)->client->dev, fmt, ##arg) | 55 | if (debug) \ |
56 | dev_printk(KERN_DEBUG, &(ihid)->client->dev, fmt, ##arg); \ | ||
57 | } while (0) | ||
56 | 58 | ||
57 | struct i2c_hid_desc { | 59 | struct i2c_hid_desc { |
58 | __le16 wHIDDescLength; | 60 | __le16 wHIDDescLength; |