diff --git a/drivers/media/video/adv7170.c b/drivers/media/video/adv7170.c
index 43fd1d2..873c30a 100644
--- a/drivers/media/video/adv7170.c
+++ b/drivers/media/video/adv7170.c
@@ -195,7 +195,7 @@
 {
 	struct adv7170 *encoder = to_adv7170(sd);
 
-	v4l2_dbg(1, debug, sd, "set norm %llx\n", std);
+	v4l2_dbg(1, debug, sd, "set norm %llx\n", (unsigned long long)std);
 
 	if (std & V4L2_STD_NTSC) {
 		adv7170_write_block(sd, init_NTSC, sizeof(init_NTSC));
@@ -210,10 +210,11 @@
 		adv7170_write(sd, 0x07, TR0MODE | TR0RST);
 		adv7170_write(sd, 0x07, TR0MODE);
 	} else {
-		v4l2_dbg(1, debug, sd, "illegal norm: %llx\n", std);
+		v4l2_dbg(1, debug, sd, "illegal norm: %llx\n",
+				(unsigned long long)std);
 		return -EINVAL;
 	}
-	v4l2_dbg(1, debug, sd, "switched to %llx\n", std);
+	v4l2_dbg(1, debug, sd, "switched to %llx\n", (unsigned long long)std);
 	encoder->norm = std;
 	return 0;
 }
diff --git a/drivers/media/video/adv7175.c b/drivers/media/video/adv7175.c
index 709e044..ff12103 100644
--- a/drivers/media/video/adv7175.c
+++ b/drivers/media/video/adv7175.c
@@ -228,10 +228,11 @@
 		adv7175_write(sd, 0x07, TR0MODE | TR0RST);
 		adv7175_write(sd, 0x07, TR0MODE);
 	} else {
-		v4l2_dbg(1, debug, sd, "illegal norm: %llx\n", std);
+		v4l2_dbg(1, debug, sd, "illegal norm: %llx\n",
+				(unsigned long long)std);
 		return -EINVAL;
 	}
-	v4l2_dbg(1, debug, sd, "switched to %llx\n", std);
+	v4l2_dbg(1, debug, sd, "switched to %llx\n", (unsigned long long)std);
 	encoder->norm = std;
 	return 0;
 }
diff --git a/drivers/media/video/bt819.c b/drivers/media/video/bt819.c
index f2ebf84..e0d8e2b 100644
--- a/drivers/media/video/bt819.c
+++ b/drivers/media/video/bt819.c
@@ -248,7 +248,7 @@
 	struct bt819 *decoder = to_bt819(sd);
 	struct timing *timing = NULL;
 
-	v4l2_dbg(1, debug, sd, "set norm %llx\n", std);
+	v4l2_dbg(1, debug, sd, "set norm %llx\n", (unsigned long long)std);
 
 	if (std & V4L2_STD_NTSC) {
 		bt819_setbit(decoder, 0x01, 0, 1);
@@ -267,7 +267,8 @@
 		/* bt819_setbit(decoder, 0x1a,  5, 0); */
 		timing = &timing_data[0];
 	} else {
-		v4l2_dbg(1, debug, sd, "unsupported norm %llx\n", std);
+		v4l2_dbg(1, debug, sd, "unsupported norm %llx\n",
+				(unsigned long long)std);
 		return -EINVAL;
 	}
 	bt819_write(decoder, 0x03,
diff --git a/drivers/media/video/bt856.c b/drivers/media/video/bt856.c
index af3c7a8..78db395 100644
--- a/drivers/media/video/bt856.c
+++ b/drivers/media/video/bt856.c
@@ -125,7 +125,7 @@
 {
 	struct bt856 *encoder = to_bt856(sd);
 
-	v4l2_dbg(1, debug, sd, "set norm %llx\n", std);
+	v4l2_dbg(1, debug, sd, "set norm %llx\n", (unsigned long long)std);
 
 	if (std & V4L2_STD_NTSC) {
 		bt856_setbit(encoder, 0xdc, 2, 0);
diff --git a/drivers/media/video/bt866.c b/drivers/media/video/bt866.c
index 0a32221..350cae4 100644
--- a/drivers/media/video/bt866.c
+++ b/drivers/media/video/bt866.c
@@ -91,7 +91,7 @@
 
 static int bt866_s_std_output(struct v4l2_subdev *sd, v4l2_std_id std)
 {
-	v4l2_dbg(1, debug, sd, "set norm %llx\n", std);
+	v4l2_dbg(1, debug, sd, "set norm %llx\n", (unsigned long long)std);
 
 	/* Only PAL supported by this driver at the moment! */
 	if (!(std & V4L2_STD_NTSC))
diff --git a/drivers/media/video/ks0127.c b/drivers/media/video/ks0127.c
index 678c4e2..4b3a116 100644
--- a/drivers/media/video/ks0127.c
+++ b/drivers/media/video/ks0127.c
@@ -579,8 +579,8 @@
 			/* force to secam mode */
 			ks0127_and_or(sd, KS_DEMOD, 0xf0, 0x0f);
 	} else {
-		v4l2_dbg(1, debug, sd,
-			"VIDIOC_S_STD: Unknown norm %llx\n", std);
+		v4l2_dbg(1, debug, sd, "VIDIOC_S_STD: Unknown norm %llx\n",
+			       (unsigned long long)std);
 	}
 	return 0;
 }
diff --git a/drivers/media/video/saa7110.c b/drivers/media/video/saa7110.c
index 977de63..df4e08d 100644
--- a/drivers/media/video/saa7110.c
+++ b/drivers/media/video/saa7110.c
@@ -251,7 +251,7 @@
 	int status = saa7110_read(sd);
 
 	v4l2_dbg(1, debug, sd, "status=0x%02x norm=%llx\n",
-		       status, decoder->norm);
+		       status, (unsigned long long)decoder->norm);
 	if (!(status & 0x40))
 		res = 0;
 	if (!(status & 0x03))
diff --git a/drivers/media/video/vpx3220.c b/drivers/media/video/vpx3220.c
index ed50b91..0cc2353 100644
--- a/drivers/media/video/vpx3220.c
+++ b/drivers/media/video/vpx3220.c
@@ -354,7 +354,7 @@
 	   choosen video norm */
 	temp_input = vpx3220_fp_read(sd, 0xf2);
 
-	v4l2_dbg(1, debug, sd, "VIDIOC_S_STD %llx\n", std);
+	v4l2_dbg(1, debug, sd, "VIDIOC_S_STD %llx\n", (unsigned long long)std);
 	if (std & V4L2_STD_NTSC) {
 		vpx3220_write_fp_block(sd, init_ntsc, sizeof(init_ntsc) >> 1);
 		v4l2_dbg(1, debug, sd, "norm switched to NTSC\n");
