[PATCH] Fix __ucmpdi2 in v4l2_norm_to_name()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

This patch replaces a switch statement using 64 bit values with the
if/else equivalent in order to prevent a call __ucmpdi2 generated by
some versions of gcc (verified with gcc-4.1.2 20060928):

	drivers/built-in.o: In function `v4l2_norm_to_name':
	(.text+0x71100): undefined reference to `__ucmpdi2'

Signed-off-by: Stelian Pop <[email protected]>

---

 drivers/media/video/v4l2-common.c |  126 ++++++++++++++++++-------------------
 1 files changed, 62 insertions(+), 64 deletions(-)

diff --git a/drivers/media/video/v4l2-common.c b/drivers/media/video/v4l2-common.c
index 752c82c..0c3c2f6 100644
--- a/drivers/media/video/v4l2-common.c
+++ b/drivers/media/video/v4l2-common.c
@@ -91,70 +91,68 @@ char *v4l2_norm_to_name(v4l2_std_id id)
 {
 	char *name;
 
-	switch (id) {
-	case V4L2_STD_PAL:
-		name="PAL";		break;
-	case V4L2_STD_PAL_BG:
-		name="PAL-BG";		break;
-	case V4L2_STD_PAL_DK:
-		name="PAL-DK";		break;
-	case V4L2_STD_PAL_B:
-		name="PAL-B";		break;
-	case V4L2_STD_PAL_B1:
-		name="PAL-B1";		break;
-	case V4L2_STD_PAL_G:
-		name="PAL-G";		break;
-	case V4L2_STD_PAL_H:
-		name="PAL-H";		break;
-	case V4L2_STD_PAL_I:
-		name="PAL-I";		break;
-	case V4L2_STD_PAL_D:
-		name="PAL-D";		break;
-	case V4L2_STD_PAL_D1:
-		name="PAL-D1";		break;
-	case V4L2_STD_PAL_K:
-		name="PAL-K";		break;
-	case V4L2_STD_PAL_M:
-		name="PAL-M";		break;
-	case V4L2_STD_PAL_N:
-		name="PAL-N";		break;
-	case V4L2_STD_PAL_Nc:
-		name="PAL-Nc";		break;
-	case V4L2_STD_PAL_60:
-		name="PAL-60";		break;
-	case V4L2_STD_NTSC:
-		name="NTSC";		break;
-	case V4L2_STD_NTSC_M:
-		name="NTSC-M";		break;
-	case V4L2_STD_NTSC_M_JP:
-		name="NTSC-M-JP";	break;
-	case V4L2_STD_NTSC_443:
-		name="NTSC-443";	break;
-	case V4L2_STD_NTSC_M_KR:
-		name="NTSC-M-KR";	break;
-	case V4L2_STD_SECAM:
-		name="SECAM";		break;
-	case V4L2_STD_SECAM_DK:
-		name="SECAM-DK";	break;
-	case V4L2_STD_SECAM_B:
-		name="SECAM-B";		break;
-	case V4L2_STD_SECAM_D:
-		name="SECAM-D";		break;
-	case V4L2_STD_SECAM_G:
-		name="SECAM-G";		break;
-	case V4L2_STD_SECAM_H:
-		name="SECAM-H";		break;
-	case V4L2_STD_SECAM_K:
-		name="SECAM-K";		break;
-	case V4L2_STD_SECAM_K1:
-		name="SECAM-K1";	break;
-	case V4L2_STD_SECAM_L:
-		name="SECAM-L";		break;
-	case V4L2_STD_SECAM_LC:
-		name="SECAM-LC";	break;
-	default:
-		name="Unknown";		break;
-	}
+	if (id == V4L2_STD_PAL)
+		name = "PAL";
+	else if (id == V4L2_STD_PAL_BG)
+		name = "PAL-BG";
+	else if (id == V4L2_STD_PAL_DK)
+		name = "PAL-DK";
+	else if (id == V4L2_STD_PAL_B)
+		name = "PAL-B";
+	else if (id == V4L2_STD_PAL_B1)
+		name = "PAL-B1";
+	else if (id == V4L2_STD_PAL_G)
+		name = "PAL-G";
+	else if (id == V4L2_STD_PAL_H)
+		name = "PAL-H";
+	else if (id == V4L2_STD_PAL_I)
+		name = "PAL-I";
+	else if (id == V4L2_STD_PAL_D)
+		name = "PAL-D";
+	else if (id == V4L2_STD_PAL_D1)
+		name = "PAL-D1";
+	else if (id == V4L2_STD_PAL_K)
+		name = "PAL-K";
+	else if (id == V4L2_STD_PAL_M)
+		name = "PAL-M";
+	else if (id == V4L2_STD_PAL_N)
+		name = "PAL-N";
+	else if (id == V4L2_STD_PAL_Nc)
+		name = "PAL-Nc";
+	else if (id == V4L2_STD_PAL_60)
+		name = "PAL-60";
+	else if (id == V4L2_STD_NTSC)
+		name = "NTSC";
+	else if (id == V4L2_STD_NTSC_M)
+		name = "NTSC-M";
+	else if (id == V4L2_STD_NTSC_M_JP)
+		name = "NTSC-M-JP";
+	else if (id == V4L2_STD_NTSC_443)
+		name = "NTSC-443";
+	else if (id == V4L2_STD_NTSC_M_KR)
+		name = "NTSC-M-KR";
+	else if (id == V4L2_STD_SECAM)
+		name = "SECAM";
+	else if (id == V4L2_STD_SECAM_DK)
+		name = "SECAM-DK";
+	else if (id == V4L2_STD_SECAM_B)
+		name = "SECAM-B";
+	else if (id == V4L2_STD_SECAM_D)
+		name = "SECAM-D";
+	else if (id == V4L2_STD_SECAM_G)
+		name = "SECAM-G";
+	else if (id == V4L2_STD_SECAM_H)
+		name = "SECAM-H";
+	else if (id == V4L2_STD_SECAM_K)
+		name = "SECAM-K";
+	else if (id == V4L2_STD_SECAM_K1)
+		name = "SECAM-K1";
+	else if (id == V4L2_STD_SECAM_L)
+		name = "SECAM-L";
+	else if (id == V4L2_STD_SECAM_LC)
+		name = "SECAM-LC";
+	else
+		name = "Unknown";
 
 	return name;
 }

-- 
Stelian Pop <[email protected]>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux