Commit 59e92bf6 authored by Ricardo Ribalda's avatar Ricardo Ribalda Committed by Mauro Carvalho Chehab

media: uvcvideo: New macro uvc_trace_cont

Remove all the duplicated code around printk(KERN_CONT, with a new macro.
Suggested-by: default avatarJoe Perches <joe@perches.com>
Signed-off-by: default avatarRicardo Ribalda <ribalda@chromium.org>
Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent 69df0954
...@@ -1606,8 +1606,7 @@ static int uvc_scan_chain_entity(struct uvc_video_chain *chain, ...@@ -1606,8 +1606,7 @@ static int uvc_scan_chain_entity(struct uvc_video_chain *chain,
{ {
switch (UVC_ENTITY_TYPE(entity)) { switch (UVC_ENTITY_TYPE(entity)) {
case UVC_VC_EXTENSION_UNIT: case UVC_VC_EXTENSION_UNIT:
if (uvc_trace_param & UVC_TRACE_PROBE) uvc_trace_cont(UVC_TRACE_PROBE, " <- XU %d", entity->id);
printk(KERN_CONT " <- XU %d", entity->id);
if (entity->bNrInPins != 1) { if (entity->bNrInPins != 1) {
uvc_trace(UVC_TRACE_DESCR, "Extension unit %d has more " uvc_trace(UVC_TRACE_DESCR, "Extension unit %d has more "
...@@ -1618,8 +1617,7 @@ static int uvc_scan_chain_entity(struct uvc_video_chain *chain, ...@@ -1618,8 +1617,7 @@ static int uvc_scan_chain_entity(struct uvc_video_chain *chain,
break; break;
case UVC_VC_PROCESSING_UNIT: case UVC_VC_PROCESSING_UNIT:
if (uvc_trace_param & UVC_TRACE_PROBE) uvc_trace_cont(UVC_TRACE_PROBE, " <- PU %d", entity->id);
printk(KERN_CONT " <- PU %d", entity->id);
if (chain->processing != NULL) { if (chain->processing != NULL) {
uvc_trace(UVC_TRACE_DESCR, "Found multiple " uvc_trace(UVC_TRACE_DESCR, "Found multiple "
...@@ -1631,8 +1629,7 @@ static int uvc_scan_chain_entity(struct uvc_video_chain *chain, ...@@ -1631,8 +1629,7 @@ static int uvc_scan_chain_entity(struct uvc_video_chain *chain,
break; break;
case UVC_VC_SELECTOR_UNIT: case UVC_VC_SELECTOR_UNIT:
if (uvc_trace_param & UVC_TRACE_PROBE) uvc_trace_cont(UVC_TRACE_PROBE, " <- SU %d", entity->id);
printk(KERN_CONT " <- SU %d", entity->id);
/* Single-input selector units are ignored. */ /* Single-input selector units are ignored. */
if (entity->bNrInPins == 1) if (entity->bNrInPins == 1)
...@@ -1650,27 +1647,22 @@ static int uvc_scan_chain_entity(struct uvc_video_chain *chain, ...@@ -1650,27 +1647,22 @@ static int uvc_scan_chain_entity(struct uvc_video_chain *chain,
case UVC_ITT_VENDOR_SPECIFIC: case UVC_ITT_VENDOR_SPECIFIC:
case UVC_ITT_CAMERA: case UVC_ITT_CAMERA:
case UVC_ITT_MEDIA_TRANSPORT_INPUT: case UVC_ITT_MEDIA_TRANSPORT_INPUT:
if (uvc_trace_param & UVC_TRACE_PROBE) uvc_trace_cont(UVC_TRACE_PROBE, " <- IT %d\n", entity->id);
printk(KERN_CONT " <- IT %d\n", entity->id);
break; break;
case UVC_OTT_VENDOR_SPECIFIC: case UVC_OTT_VENDOR_SPECIFIC:
case UVC_OTT_DISPLAY: case UVC_OTT_DISPLAY:
case UVC_OTT_MEDIA_TRANSPORT_OUTPUT: case UVC_OTT_MEDIA_TRANSPORT_OUTPUT:
if (uvc_trace_param & UVC_TRACE_PROBE) uvc_trace_cont(UVC_TRACE_PROBE, " OT %d", entity->id);
printk(KERN_CONT " OT %d", entity->id);
break; break;
case UVC_TT_STREAMING: case UVC_TT_STREAMING:
if (UVC_ENTITY_IS_ITERM(entity)) { if (UVC_ENTITY_IS_ITERM(entity))
if (uvc_trace_param & UVC_TRACE_PROBE) uvc_trace_cont(UVC_TRACE_PROBE, " <- IT %d\n", entity->id);
printk(KERN_CONT " <- IT %d\n", entity->id); else
} else { uvc_trace_cont(UVC_TRACE_PROBE, " OT %d", entity->id);
if (uvc_trace_param & UVC_TRACE_PROBE)
printk(KERN_CONT " OT %d", entity->id);
}
break; break;
...@@ -1717,13 +1709,11 @@ static int uvc_scan_chain_forward(struct uvc_video_chain *chain, ...@@ -1717,13 +1709,11 @@ static int uvc_scan_chain_forward(struct uvc_video_chain *chain,
} }
list_add_tail(&forward->chain, &chain->entities); list_add_tail(&forward->chain, &chain->entities);
if (uvc_trace_param & UVC_TRACE_PROBE) { if (!found)
if (!found) uvc_trace_cont(UVC_TRACE_PROBE, " (->");
printk(KERN_CONT " (->");
printk(KERN_CONT " XU %d", forward->id); uvc_trace_cont(UVC_TRACE_PROBE, " XU %d", forward->id);
found = 1; found = 1;
}
break; break;
case UVC_OTT_VENDOR_SPECIFIC: case UVC_OTT_VENDOR_SPECIFIC:
...@@ -1737,18 +1727,16 @@ static int uvc_scan_chain_forward(struct uvc_video_chain *chain, ...@@ -1737,18 +1727,16 @@ static int uvc_scan_chain_forward(struct uvc_video_chain *chain,
} }
list_add_tail(&forward->chain, &chain->entities); list_add_tail(&forward->chain, &chain->entities);
if (uvc_trace_param & UVC_TRACE_PROBE) { if (!found)
if (!found) uvc_trace_cont(UVC_TRACE_PROBE, " (->");
printk(KERN_CONT " (->");
printk(KERN_CONT " OT %d", forward->id); uvc_trace_cont(UVC_TRACE_PROBE, " OT %d", forward->id);
found = 1; found = 1;
}
break; break;
} }
} }
if (found) if (found)
printk(KERN_CONT ")"); uvc_trace_cont(UVC_TRACE_PROBE, ")");
return 0; return 0;
} }
...@@ -1773,8 +1761,7 @@ static int uvc_scan_chain_backward(struct uvc_video_chain *chain, ...@@ -1773,8 +1761,7 @@ static int uvc_scan_chain_backward(struct uvc_video_chain *chain,
break; break;
} }
if (uvc_trace_param & UVC_TRACE_PROBE) uvc_trace_cont(UVC_TRACE_PROBE, " <- IT");
printk(KERN_CONT " <- IT");
chain->selector = entity; chain->selector = entity;
for (i = 0; i < entity->bNrInPins; ++i) { for (i = 0; i < entity->bNrInPins; ++i) {
...@@ -1794,15 +1781,13 @@ static int uvc_scan_chain_backward(struct uvc_video_chain *chain, ...@@ -1794,15 +1781,13 @@ static int uvc_scan_chain_backward(struct uvc_video_chain *chain,
return -EINVAL; return -EINVAL;
} }
if (uvc_trace_param & UVC_TRACE_PROBE) uvc_trace_cont(UVC_TRACE_PROBE, " %d", term->id);
printk(KERN_CONT " %d", term->id);
list_add_tail(&term->chain, &chain->entities); list_add_tail(&term->chain, &chain->entities);
uvc_scan_chain_forward(chain, term, entity); uvc_scan_chain_forward(chain, term, entity);
} }
if (uvc_trace_param & UVC_TRACE_PROBE) uvc_trace_cont(UVC_TRACE_PROBE, "\n");
printk(KERN_CONT "\n");
id = 0; id = 0;
break; break;
......
...@@ -758,6 +758,12 @@ do { \ ...@@ -758,6 +758,12 @@ do { \
printk(KERN_DEBUG "uvcvideo: " fmt, ##__VA_ARGS__); \ printk(KERN_DEBUG "uvcvideo: " fmt, ##__VA_ARGS__); \
} while (0) } 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, ...) \ #define uvc_warn_once(_dev, warn, fmt, ...) \
do { \ do { \
if (!test_and_set_bit(warn, &(_dev)->warnings)) \ if (!test_and_set_bit(warn, &(_dev)->warnings)) \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment