Instead of checking the dev_debug flags before each dprintk call, make the macro smarter by passing the parameters. This makes the code simpler and will allow to add more debug logic. Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxx> --- drivers/media/v4l2-core/v4l2-dev.c | 35 ++++++++++-------------------- 1 file changed, 11 insertions(+), 24 deletions(-) diff --git a/drivers/media/v4l2-core/v4l2-dev.c b/drivers/media/v4l2-core/v4l2-dev.c index 34e4958663bf..7cfb05204065 100644 --- a/drivers/media/v4l2-core/v4l2-dev.c +++ b/drivers/media/v4l2-core/v4l2-dev.c @@ -36,9 +36,10 @@ #define VIDEO_NUM_DEVICES 256 #define VIDEO_NAME "video4linux" -#define dprintk(fmt, arg...) do { \ - printk(KERN_DEBUG pr_fmt("%s: " fmt), \ - __func__, ##arg); \ +#define dprintk(vdev, flags, fmt, arg...) do { \ + if (vdev->dev_debug & flags) \ + printk(KERN_DEBUG pr_fmt("%s: %s: " fmt), \ + __func__, video_device_node_name(vdev), ##arg); \ } while (0) @@ -315,9 +316,7 @@ static ssize_t v4l2_read(struct file *filp, char __user *buf, return -EINVAL; if (video_is_registered(vdev)) ret = vdev->fops->read(filp, buf, sz, off); - if (vdev->dev_debug & V4L2_DEV_DEBUG_STREAMING) - dprintk("%s: read: %zd (%d)\n", - video_device_node_name(vdev), sz, ret); + dprintk(vdev, V4L2_DEV_DEBUG_STREAMING, "read: %zd (%d)\n", sz, ret); return ret; } @@ -331,9 +330,7 @@ static ssize_t v4l2_write(struct file *filp, const char __user *buf, return -EINVAL; if (video_is_registered(vdev)) ret = vdev->fops->write(filp, buf, sz, off); - if (vdev->dev_debug & V4L2_DEV_DEBUG_STREAMING) - dprintk("%s: write: %zd (%d)\n", - video_device_node_name(vdev), sz, ret); + dprintk(vdev, V4L2_DEV_DEBUG_STREAMING, "write: %zd (%d)\n", sz, ret); return ret; } @@ -346,9 +343,7 @@ static __poll_t v4l2_poll(struct file *filp, struct poll_table_struct *poll) return DEFAULT_POLLMASK; if (video_is_registered(vdev)) res = vdev->fops->poll(filp, poll); - if (vdev->dev_debug & V4L2_DEV_DEBUG_POLL) - dprintk("%s: poll: %08x\n", - video_device_node_name(vdev), res); + dprintk(vdev, V4L2_DEV_DEBUG_POLL, "poll: %08x\n", res); return res; } @@ -381,9 +376,7 @@ static unsigned long v4l2_get_unmapped_area(struct file *filp, if (!video_is_registered(vdev)) return -ENODEV; ret = vdev->fops->get_unmapped_area(filp, addr, len, pgoff, flags); - if (vdev->dev_debug & V4L2_DEV_DEBUG_FOP) - dprintk("%s: get_unmapped_area (%d)\n", - video_device_node_name(vdev), ret); + dprintk(vdev, V4L2_DEV_DEBUG_FOP, "get_unmapped_area (%d)\n", ret); return ret; } #endif @@ -397,9 +390,7 @@ static int v4l2_mmap(struct file *filp, struct vm_area_struct *vm) return -ENODEV; if (video_is_registered(vdev)) ret = vdev->fops->mmap(filp, vm); - if (vdev->dev_debug & V4L2_DEV_DEBUG_FOP) - dprintk("%s: mmap (%d)\n", - video_device_node_name(vdev), ret); + dprintk(vdev, V4L2_DEV_DEBUG_FOP, "mmap (%d)\n", ret); return ret; } @@ -427,9 +418,7 @@ static int v4l2_open(struct inode *inode, struct file *filp) ret = -ENODEV; } - if (vdev->dev_debug & V4L2_DEV_DEBUG_FOP) - dprintk("%s: open (%d)\n", - video_device_node_name(vdev), ret); + dprintk(vdev, V4L2_DEV_DEBUG_FOP, "open (%d)\n", ret); /* decrease the refcount in case of an error */ if (ret) video_put(vdev); @@ -458,9 +447,7 @@ static int v4l2_release(struct inode *inode, struct file *filp) } } - if (vdev->dev_debug & V4L2_DEV_DEBUG_FOP) - dprintk("%s: release\n", - video_device_node_name(vdev)); + dprintk(vdev, V4L2_DEV_DEBUG_FOP, "release\n"); /* decrease the refcount unconditionally since the release() return value is ignored. */ -- 2.20.1