Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[media] v4l2-common: add a debug macro to be used with dev_foo()

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>

+7
+7
include/media/v4l2-common.h
··· 55 55 v4l_client_printk(KERN_DEBUG, client, fmt , ## arg); \ 56 56 } while (0) 57 57 58 + /* Add a version of v4l_dbg to be used on drivers using dev_foo() macros */ 59 + #define dev_dbg_lvl(__dev, __level, __debug, __fmt, __arg...) \ 60 + do { \ 61 + if (__debug >= (__level)) \ 62 + dev_printk(KERN_DEBUG, __dev, __fmt, ##__arg); \ 63 + } while (0) 64 + 58 65 /* ------------------------------------------------------------------------- */ 59 66 60 67 /* These printk constructs can be used with v4l2_device and v4l2_subdev */