V4L/DVB (7022): Fix timestamp presentation on vivi driver

Due to date overflow, vivi were not working fine anymore.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
diff --git a/drivers/media/video/vivi.c b/drivers/media/video/vivi.c
index c9d2363..1db067c 100644
--- a/drivers/media/video/vivi.c
+++ b/drivers/media/video/vivi.c
@@ -173,7 +173,8 @@
 	struct vivi_dmaqueue       vidq;
 
 	/* Several counters */
-	int                        h, m, s, us, jiffies;
+	int                        h, m, s, ms;
+	unsigned long              jiffies;
 	char                       timestr[13];
 
 	int			   mv_count;	/* Controls bars movement */
@@ -348,10 +349,10 @@
 
 	/* Updates stream time */
 
-	dev->us += jiffies_to_usecs(jiffies-dev->jiffies);
+	dev->ms += jiffies_to_msecs(jiffies-dev->jiffies);
 	dev->jiffies = jiffies;
-	if (dev->us >= 1000000) {
-		dev->us -= 1000000;
+	if (dev->ms >= 1000) {
+		dev->ms -= 1000;
 		dev->s++;
 		if (dev->s >= 60) {
 			dev->s -= 60;
@@ -365,7 +366,7 @@
 		}
 	}
 	sprintf(dev->timestr, "%02d:%02d:%02d:%03d",
-			dev->h, dev->m, dev->s,  (dev->us + 500) / 1000);
+			dev->h, dev->m, dev->s, dev->ms);
 
 	dprintk(dev, 2, "vivifill at %s: Buffer 0x%08lx size= %d\n",
 			dev->timestr, (unsigned long)tmpbuf, pos);
@@ -1073,11 +1074,11 @@
 	dev->h = 0;
 	dev->m = 0;
 	dev->s = 0;
-	dev->us = 0;
+	dev->ms = 0;
 	dev->mv_count = 0;
 	dev->jiffies = jiffies;
 	sprintf(dev->timestr, "%02d:%02d:%02d:%03d",
-			dev->h, dev->m, dev->s, (dev->us + 500) / 1000);
+			dev->h, dev->m, dev->s, dev->ms);
 
 	videobuf_queue_vmalloc_init(&fh->vb_vidq, &vivi_video_qops,
 			NULL, &dev->slock, fh->type, V4L2_FIELD_INTERLACED,