diff options
author | Benjamin Tissoires <benjamin.tissoires@gmail.com> | 2012-12-04 16:27:46 +0100 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2012-12-05 10:56:45 +0100 |
commit | fa738644e57d5fd54b8c0a4f5a7815972e65ce1a (patch) | |
tree | 80adc23472707f641f72a28fdc2e937ba025e395 /drivers/hid/i2c-hid/i2c-hid.c | |
parent | ee8e8806348732e328d119418a9788aabeceed0a (diff) | |
download | op-kernel-dev-fa738644e57d5fd54b8c0a4f5a7815972e65ce1a.zip op-kernel-dev-fa738644e57d5fd54b8c0a4f5a7815972e65ce1a.tar.gz |
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.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 3c8fe46..d95e8de 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; |