[PATCH] Fix __ucmpdi2 in v4l2_norm_to_name()

From: Stelian Pop
Date: Thu Jan 04 2007 - 06:10:56 EST


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 <stelian@xxxxxxxxxx>

---

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 <stelian@xxxxxxxxxx>

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