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

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
Loading
Loading
Loading
Loading
+21 −36
Original line number Diff line number Diff line
@@ -1606,8 +1606,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 "
@@ -1618,8 +1617,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 "
@@ -1631,8 +1629,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)
@@ -1650,27 +1647,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;

@@ -1717,13 +1709,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 " (->");
				uvc_trace_cont(UVC_TRACE_PROBE, " (->");

				printk(KERN_CONT " XU %d", forward->id);
			uvc_trace_cont(UVC_TRACE_PROBE, " XU %d", forward->id);
			found = 1;
			}
			break;

		case UVC_OTT_VENDOR_SPECIFIC:
@@ -1737,18 +1727,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 " (->");
				uvc_trace_cont(UVC_TRACE_PROBE, " (->");

				printk(KERN_CONT " OT %d", forward->id);
			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;
}
@@ -1773,8 +1761,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) {
@@ -1794,15 +1781,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;
+6 −0
Original line number Diff line number Diff line
@@ -758,6 +758,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))			\