Remove all the duplicated code around printk(KERN_CONT, with a new macro.

Reviewed-by: Laurent Pinchart <[email protected]>
Suggested-by: Joe Perches <[email protected]>
Signed-off-by: Ricardo Ribalda <[email protected]>
---
 drivers/media/usb/uvc/uvc_driver.c | 57 +++++++++++-------------------
 drivers/media/usb/uvc/uvcvideo.h   |  6 ++++
 2 files changed, 27 insertions(+), 36 deletions(-)

diff --git a/drivers/media/usb/uvc/uvc_driver.c 
b/drivers/media/usb/uvc/uvc_driver.c
index c98d57680e5c..ea64c716f1f3 100644
--- a/drivers/media/usb/uvc/uvc_driver.c
+++ b/drivers/media/usb/uvc/uvc_driver.c
@@ -1686,8 +1686,7 @@ static int uvc_scan_chain_entity(struct uvc_video_chain 
*chain,
 {
        switch (UVC_ENTITY_TYPE(entity)) {
        case UVC_VC_EXTENSION_UNIT:
-               if (uvc_trace_param & UVC_TRACE_PROBE)
-                       printk(KERN_CONT " <- XU %d", entity->id);
+               uvc_trace_cont(UVC_TRACE_PROBE, " <- XU %d", entity->id);
 
                if (entity->bNrInPins != 1) {
                        uvc_trace(UVC_TRACE_DESCR, "Extension unit %d has more "
@@ -1698,8 +1697,7 @@ static int uvc_scan_chain_entity(struct uvc_video_chain 
*chain,
                break;
 
        case UVC_VC_PROCESSING_UNIT:
-               if (uvc_trace_param & UVC_TRACE_PROBE)
-                       printk(KERN_CONT " <- PU %d", entity->id);
+               uvc_trace_cont(UVC_TRACE_PROBE, " <- PU %d", entity->id);
 
                if (chain->processing != NULL) {
                        uvc_trace(UVC_TRACE_DESCR, "Found multiple "
@@ -1711,8 +1709,7 @@ static int uvc_scan_chain_entity(struct uvc_video_chain 
*chain,
                break;
 
        case UVC_VC_SELECTOR_UNIT:
-               if (uvc_trace_param & UVC_TRACE_PROBE)
-                       printk(KERN_CONT " <- SU %d", entity->id);
+               uvc_trace_cont(UVC_TRACE_PROBE, " <- SU %d", entity->id);
 
                /* Single-input selector units are ignored. */
                if (entity->bNrInPins == 1)
@@ -1730,27 +1727,22 @@ static int uvc_scan_chain_entity(struct uvc_video_chain 
*chain,
        case UVC_ITT_VENDOR_SPECIFIC:
        case UVC_ITT_CAMERA:
        case UVC_ITT_MEDIA_TRANSPORT_INPUT:
-               if (uvc_trace_param & UVC_TRACE_PROBE)
-                       printk(KERN_CONT " <- IT %d\n", entity->id);
+               uvc_trace_cont(UVC_TRACE_PROBE, " <- IT %d\n", entity->id);
 
                break;
 
        case UVC_OTT_VENDOR_SPECIFIC:
        case UVC_OTT_DISPLAY:
        case UVC_OTT_MEDIA_TRANSPORT_OUTPUT:
-               if (uvc_trace_param & UVC_TRACE_PROBE)
-                       printk(KERN_CONT " OT %d", entity->id);
+               uvc_trace_cont(UVC_TRACE_PROBE, " OT %d", entity->id);
 
                break;
 
        case UVC_TT_STREAMING:
-               if (UVC_ENTITY_IS_ITERM(entity)) {
-                       if (uvc_trace_param & UVC_TRACE_PROBE)
-                               printk(KERN_CONT " <- IT %d\n", entity->id);
-               } else {
-                       if (uvc_trace_param & UVC_TRACE_PROBE)
-                               printk(KERN_CONT " OT %d", entity->id);
-               }
+               if (UVC_ENTITY_IS_ITERM(entity))
+                       uvc_trace_cont(UVC_TRACE_PROBE, " <- IT %d\n", 
entity->id);
+               else
+                       uvc_trace_cont(UVC_TRACE_PROBE, " OT %d", entity->id);
 
                break;
 
@@ -1797,13 +1789,11 @@ static int uvc_scan_chain_forward(struct 
uvc_video_chain *chain,
                        }
 
                        list_add_tail(&forward->chain, &chain->entities);
-                       if (uvc_trace_param & UVC_TRACE_PROBE) {
-                               if (!found)
-                                       printk(KERN_CONT " (->");
+                       if (!found)
+                               uvc_trace_cont(UVC_TRACE_PROBE, " (->");
 
-                               printk(KERN_CONT " XU %d", forward->id);
-                               found = 1;
-                       }
+                       uvc_trace_cont(UVC_TRACE_PROBE, " XU %d", forward->id);
+                       found = 1;
                        break;
 
                case UVC_OTT_VENDOR_SPECIFIC:
@@ -1817,18 +1807,16 @@ static int uvc_scan_chain_forward(struct 
uvc_video_chain *chain,
                        }
 
                        list_add_tail(&forward->chain, &chain->entities);
-                       if (uvc_trace_param & UVC_TRACE_PROBE) {
-                               if (!found)
-                                       printk(KERN_CONT " (->");
+                       if (!found)
+                               uvc_trace_cont(UVC_TRACE_PROBE, " (->");
 
-                               printk(KERN_CONT " OT %d", forward->id);
-                               found = 1;
-                       }
+                       uvc_trace_cont(UVC_TRACE_PROBE, " OT %d", forward->id);
+                       found = 1;
                        break;
                }
        }
        if (found)
-               printk(KERN_CONT ")");
+               uvc_trace_cont(UVC_TRACE_PROBE, ")");
 
        return 0;
 }
@@ -1853,8 +1841,7 @@ static int uvc_scan_chain_backward(struct uvc_video_chain 
*chain,
                        break;
                }
 
-               if (uvc_trace_param & UVC_TRACE_PROBE)
-                       printk(KERN_CONT " <- IT");
+               uvc_trace_cont(UVC_TRACE_PROBE, " <- IT");
 
                chain->selector = entity;
                for (i = 0; i < entity->bNrInPins; ++i) {
@@ -1874,15 +1861,13 @@ static int uvc_scan_chain_backward(struct 
uvc_video_chain *chain,
                                return -EINVAL;
                        }
 
-                       if (uvc_trace_param & UVC_TRACE_PROBE)
-                               printk(KERN_CONT " %d", term->id);
+                       uvc_trace_cont(UVC_TRACE_PROBE, " %d", term->id);
 
                        list_add_tail(&term->chain, &chain->entities);
                        uvc_scan_chain_forward(chain, term, entity);
                }
 
-               if (uvc_trace_param & UVC_TRACE_PROBE)
-                       printk(KERN_CONT "\n");
+               uvc_trace_cont(UVC_TRACE_PROBE, "\n");
 
                id = 0;
                break;
diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvideo.h
index a4ebd56bb987..4a7d1fb76eee 100644
--- a/drivers/media/usb/uvc/uvcvideo.h
+++ b/drivers/media/usb/uvc/uvcvideo.h
@@ -763,6 +763,12 @@ do {                                                       
                \
                printk(KERN_DEBUG "uvcvideo: " fmt, ##__VA_ARGS__);     \
 } while (0)
 
+#define uvc_trace_cont(flag, fmt, ...)                                 \
+do {                                                                   \
+       if (uvc_trace_param & flag)                                     \
+               pr_cont(fmt, ##__VA_ARGS__);                            \
+} while (0)
+
 #define uvc_warn_once(_dev, warn, fmt, ...)                            \
 do {                                                                   \
        if (!test_and_set_bit(warn, &(_dev)->warnings))                 \
-- 
2.29.2.684.gfbc64c5ab5-goog

Reply via email to