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 <ezequ...@collabora.com>
---
 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

Reply via email to