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 | 38 +++++++++++++----------------- 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/drivers/media/v4l2-core/v4l2-dev.c b/drivers/media/v4l2-core/v4l2-dev.c index 34e4958663bf..35e429ac888f 100644 --- a/drivers/media/v4l2-core/v4l2-dev.c +++ b/drivers/media/v4l2-core/v4l2-dev.c @@ -36,7 +36,8 @@ #define VIDEO_NUM_DEVICES 256 #define VIDEO_NAME "video4linux" -#define dprintk(fmt, arg...) do { \ +#define dprintk(vdev, flags, fmt, arg...) do { \ + if (vdev->dev_debug & flags) \ printk(KERN_DEBUG pr_fmt("%s: " fmt), \ __func__, ##arg); \ } while (0) @@ -315,9 +316,8 @@ 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, "%s: read: %zd (%d)\n", + video_device_node_name(vdev), sz, ret); return ret; } @@ -331,9 +331,8 @@ 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, "%s: write: %zd (%d)\n", + video_device_node_name(vdev), sz, ret); return ret; } @@ -346,9 +345,8 @@ 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, "%s: poll: %08x\n", + video_device_node_name(vdev), res); return res; } @@ -381,9 +379,8 @@ 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, "%s: get_unmapped_area (%d)\n", + video_device_node_name(vdev), ret); return ret; } #endif @@ -397,9 +394,8 @@ 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, "%s: mmap (%d)\n", + video_device_node_name(vdev), ret); return ret; } @@ -427,9 +423,8 @@ 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, "%s: open (%d)\n", + video_device_node_name(vdev), ret); /* decrease the refcount in case of an error */ if (ret) video_put(vdev); @@ -458,9 +453,8 @@ 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, "%s: release\n", + video_device_node_name(vdev)); /* decrease the refcount unconditionally since the release() return value is ignored. */ -- 2.20.1