[media] v4l2-common: add a debug macro to be used with dev_foo()
authorMauro Carvalho Chehab <mchehab@s-opensource.com>
Wed, 16 Nov 2016 10:35:08 +0000 (08:35 -0200)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Fri, 18 Nov 2016 12:04:58 +0000 (10:04 -0200)
Currently, there's a mess at the V4L2 printk macros: some drivers
use their own macros, others use pr_foo() or v4l_foo() macros,
while more modern drivers use dev_foo() macros.

The best is to get rid of v4l_foo() macros, as they can be
replaced by either dev_foo() or pr_foo(). Yet, such change can
be disruptive, as dev_foo() cannot use KERN_CONT. So, the best
is to do such change driver by driver.

There are replacements for most v4l_foo() macros, but it lacks
a way to enable debug messages per level. So, add such macro,
in order to make the conversion easier.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
include/media/v4l2-common.h

index 350cbf9fb10e82b28c7e6dca48138c81a4e1daac..aac8b7b6e6917c27547113398a8d98fe8fcbac63 100644 (file)
                        v4l_client_printk(KERN_DEBUG, client, fmt , ## arg); \
        } while (0)
 
+/* Add a version of v4l_dbg to be used on drivers using dev_foo() macros */
+#define dev_dbg_lvl(__dev, __level, __debug, __fmt, __arg...)          \
+       do {                                                            \
+               if (__debug >= (__level))                               \
+                       dev_printk(KERN_DEBUG, __dev, __fmt, ##__arg);  \
+       } while (0)
+
 /* ------------------------------------------------------------------------- */
 
 /* These printk constructs can be used with v4l2_device and v4l2_subdev */