]> err.no Git - linux-2.6/commitdiff
V4L/DVB (6758): Miscelaneous cleanups
authorMauro Carvalho Chehab <mchehab@infradead.org>
Mon, 10 Dec 2007 12:33:52 +0000 (09:33 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Fri, 25 Jan 2008 21:03:22 +0000 (19:03 -0200)
Manually fixed all pertinent checkpatch.pl errors inside the source code.

Also removed some unused code at the driver and a few minor cleanups.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/video/vivi.c

index ea9ff8a9bfdfec50da3de27eccbca2fcca6ecaf8..2bbefd9262567e903b2003c1c1a5b0aadb447e12 100644 (file)
 #define WAKE_DENOMINATOR 1001
 #define BUFFER_TIMEOUT     msecs_to_jiffies(500)  /* 0.5 seconds */
 
-/* These timers are for 1 fps - used only for testing */
-//#define WAKE_DENOMINATOR 30 /* hack for testing purposes */
-//#define BUFFER_TIMEOUT     msecs_to_jiffies(5000)  /* 5 seconds */
-
 #include "font.h"
 
 #define VIVI_MAJOR_VERSION 0
 #define VIVI_MINOR_VERSION 4
 #define VIVI_RELEASE 0
-#define VIVI_VERSION KERNEL_VERSION(VIVI_MAJOR_VERSION, VIVI_MINOR_VERSION, VIVI_RELEASE)
+#define VIVI_VERSION \
+       KERNEL_VERSION(VIVI_MAJOR_VERSION, VIVI_MINOR_VERSION, VIVI_RELEASE)
 
 /* Declare static vars that will be used as parameters */
 static unsigned int vid_limit = 16;    /* Video memory limit, in Mb */
@@ -72,7 +69,7 @@ static struct v4l2_queryctrl vivi_qctrl[] = {
                .default_value = 65535,
                .flags         = 0,
                .type          = V4L2_CTRL_TYPE_INTEGER,
-       },{
+       }, {
                .id            = V4L2_CID_BRIGHTNESS,
                .type          = V4L2_CTRL_TYPE_INTEGER,
                .name          = "Brightness",
@@ -113,7 +110,7 @@ static struct v4l2_queryctrl vivi_qctrl[] = {
 
 static int qctl_regs[ARRAY_SIZE(vivi_qctrl)];
 
-#define dprintk(level,fmt, arg...)                                     \
+#define dprintk(level, fmt, arg...)                                    \
        do {                                                            \
                if (vivi.debug >= (level))                              \
                        printk(KERN_DEBUG "vivi: " fmt , ## arg);       \
@@ -176,7 +173,7 @@ struct vivi_dev {
        struct vivi_dmaqueue       vidq;
 
        /* Several counters */
-       int                        h,m,s,us,jiffies;
+       int                        h, m, s, us, jiffies;
        char                       timestr[13];
 
        int                        mv_count;    /* Controls bars movement */
@@ -187,7 +184,7 @@ struct vivi_fh {
 
        /* video capture */
        struct vivi_fmt            *fmt;
-       unsigned int               width,height;
+       unsigned int               width, height;
        struct videobuf_queue      vb_vidq;
 
        enum v4l2_buf_type         type;
@@ -206,109 +203,113 @@ enum colors {
        GREEN,
        MAGENTA,
        RED,
-       BLUE
+       BLUE,
+       BLACK,
 };
 
 static u8 bars[8][3] = {
        /* R   G   B */
-       {204,204,204},  /* white */
-       {208,208,  0},  /* ambar */
-       {  0,206,206},  /* cyan */
-       {  0,239,  0},  /* green */
-       {239,  0,239},  /* magenta */
-       {205,  0,  0},  /* red */
-       {  0,  0,255},  /* blue */
-       {  0,  0,  0}
+       {204, 204, 204},  /* white */
+       {208, 208,   0},  /* ambar */
+       {  0, 206, 206},  /* cyan */
+       {  0, 239,   0},  /* green */
+       {239,   0, 239},  /* magenta */
+       {205,   0,   0},  /* red */
+       {  0,   0, 255},  /* blue */
+       {  0,   0,   0},  /* black */
 };
 
-#define TO_Y(r,g,b) (((16829*r +33039*g +6416*b  + 32768)>>16)+16)
+#define TO_Y(r, g, b) \
+       (((16829 * r + 33039 * g + 6416 * b  + 32768) >> 16) + 16)
 /* RGB to  V(Cr) Color transform */
-#define TO_V(r,g,b) (((28784*r -24103*g -4681*b  + 32768)>>16)+128)
+#define TO_V(r, g, b) \
+       (((28784 * r - 24103 * g - 4681 * b  + 32768) >> 16) + 128)
 /* RGB to  U(Cb) Color transform */
-#define TO_U(r,g,b) (((-9714*r -19070*g +28784*b + 32768)>>16)+128)
+#define TO_U(r, g, b) \
+       (((-9714 * r - 19070 * g + 28784 * b + 32768) >> 16) + 128)
 
 #define TSTAMP_MIN_Y 24
 #define TSTAMP_MAX_Y TSTAMP_MIN_Y+15
 #define TSTAMP_MIN_X 64
 
-static void gen_line(char *basep,int inipos,int wmax,
-                    int hmax, int line, int count, char *timestr)
+static void gen_line(char *basep, int inipos, int wmax,
+               int hmax, int line, int count, char *timestr)
 {
-       int  w,i,j,pos=inipos,y;
-       char *p,*s;
-       u8   chr,r,g,b,color;
+       int  w, i, j, y;
+       int pos = inipos;
+       char *p, *s;
+       u8   chr, r, g, b, color;
 
        /* We will just duplicate the second pixel at the packet */
-       wmax/=2;
+       wmax /= 2;
 
        /* Generate a standard color bar pattern */
-       for (w=0;w<wmax;w++) {
-               int colorpos=((w+count)*8/(wmax+1)) % 8;
-               r=bars[colorpos][0];
-               g=bars[colorpos][1];
-               b=bars[colorpos][2];
+       for (w = 0; w < wmax; w++) {
+               int colorpos = ((w + count) * 8/(wmax + 1)) % 8;
+               r = bars[colorpos][0];
+               g = bars[colorpos][1];
+               b = bars[colorpos][2];
 
-               for (color=0;color<4;color++) {
-                       p=basep+pos;
+               for (color = 0; color < 4; color++) {
+                       p = basep + pos;
 
                        switch (color) {
-                               case 0:
-                               case 2:
-                                       *p=TO_Y(r,g,b);         /* Luminance */
-                                       break;
-                               case 1:
-                                       *p=TO_U(r,g,b);         /* Cb */
-                                       break;
-                               case 3:
-                                       *p=TO_V(r,g,b);         /* Cr */
-                                       break;
+                       case 0:
+                       case 2:
+                               *p = TO_Y(r, g, b);     /* Luma */
+                               break;
+                       case 1:
+                               *p = TO_U(r, g, b);     /* Cb */
+                               break;
+                       case 3:
+                               *p = TO_V(r, g, b);     /* Cr */
+                               break;
                        }
                        pos++;
                }
        }
 
        /* Checks if it is possible to show timestamp */
-       if (TSTAMP_MAX_Y>=hmax)
+       if (TSTAMP_MAX_Y >= hmax)
                goto end;
-       if (TSTAMP_MIN_X+strlen(timestr)>=wmax)
+       if (TSTAMP_MIN_X + strlen(timestr) >= wmax)
                goto end;
 
        /* Print stream time */
-       if (line>=TSTAMP_MIN_Y && line<=TSTAMP_MAX_Y) {
-               j=TSTAMP_MIN_X;
-               for (s=timestr;*s;s++) {
-                       chr=rom8x16_bits[(*s-0x30)*16+line-TSTAMP_MIN_Y];
-                       for (i=0;i<7;i++) {
-                               if (chr&1<<(7-i)) { /* Font color*/
-                                       r=bars[BLUE][0];
-                                       g=bars[BLUE][1];
-                                       b=bars[BLUE][2];
-                                       r=g=b=0;
-                                       g=198;
-                               } else { /* Background color */
-                                       r=bars[WHITE][0];
-                                       g=bars[WHITE][1];
-                                       b=bars[WHITE][2];
-                                       r=g=b=0;
+       if (line >= TSTAMP_MIN_Y && line <= TSTAMP_MAX_Y) {
+               j = TSTAMP_MIN_X;
+               for (s = timestr; *s; s++) {
+                       chr = rom8x16_bits[(*s-0x30)*16+line-TSTAMP_MIN_Y];
+                       for (i = 0; i < 7; i++) {
+                               if (chr & 1 << (7 - i)) {
+                                       /* Font color*/
+                                       r = 0;
+                                       g = 198;
+                                       b = 0;
+                               } else {
+                                       /* Background color */
+                                       r = bars[BLACK][0];
+                                       g = bars[BLACK][1];
+                                       b = bars[BLACK][2];
                                }
 
-                               pos=inipos+j*2;
-                               for (color=0;color<4;color++) {
-                                       p=basep+pos;
+                               pos = inipos + j * 2;
+                               for (color = 0; color < 4; color++) {
+                                       p = basep + pos;
 
-                                       y=TO_Y(r,g,b);
+                                       y = TO_Y(r, g, b);
 
                                        switch (color) {
-                                               case 0:
-                                               case 2:
-                                                       *p=TO_Y(r,g,b);         /* Luminance */
-                                                       break;
-                                               case 1:
-                                                       *p=TO_U(r,g,b);         /* Cb */
-                                                       break;
-                                               case 3:
-                                                       *p=TO_V(r,g,b);         /* Cr */
-                                                       break;
+                                       case 0:
+                                       case 2:
+                                               *p = TO_Y(r, g, b); /* Luma */
+                                               break;
+                                       case 1:
+                                               *p = TO_U(r, g, b); /* Cb */
+                                               break;
+                                       case 3:
+                                               *p = TO_V(r, g, b); /* Cr */
+                                               break;
                                        }
                                        pos++;
                                }
@@ -317,28 +318,27 @@ static void gen_line(char *basep,int inipos,int wmax,
                }
        }
 
-
 end:
        return;
 }
-static void vivi_fillbuff(struct vivi_dev *dev,struct vivi_buffer *buf)
+static void vivi_fillbuff(struct vivi_dev *dev, struct vivi_buffer *buf)
 {
-       int h,pos=0;
+       int h , pos = 0;
        int hmax  = buf->vb.height;
        int wmax  = buf->vb.width;
        struct timeval ts;
-       char *tmpbuf = kmalloc(wmax*2,GFP_KERNEL);
-       void *vbuf=videobuf_to_vmalloc (&buf->vb);
+       char *tmpbuf = kmalloc(wmax * 2, GFP_KERNEL);
+       void *vbuf = videobuf_to_vmalloc(&buf->vb);
 
        if (!tmpbuf)
                return;
 
-       for (h=0;h<hmax;h++) {
+       for (h = 0; h < hmax; h++) {
                gen_line(tmpbuf, 0, wmax, hmax, h, dev->mv_count,
                         dev->timestr);
                /* FIXME: replacing to __copy_to_user */
-               if (copy_to_user(vbuf+pos,tmpbuf,wmax*2)!=0)
-                       dprintk(2,"vivifill copy_to_user failed.\n");
+               if (copy_to_user(vbuf + pos, tmpbuf, wmax * 2) != 0)
+                       dprintk(2, "vivifill copy_to_user failed.\n");
                pos += wmax*2;
        }
 
@@ -348,27 +348,27 @@ static void vivi_fillbuff(struct vivi_dev *dev,struct vivi_buffer *buf)
 
        /* Updates stream time */
 
-       dev->us+=jiffies_to_usecs(jiffies-dev->jiffies);
-       dev->jiffies=jiffies;
-       if (dev->us>=1000000) {
-               dev->us-=1000000;
+       dev->us += jiffies_to_usecs(jiffies-dev->jiffies);
+       dev->jiffies = jiffies;
+       if (dev->us >= 1000000) {
+               dev->us -= 1000000;
                dev->s++;
-               if (dev->s>=60) {
-                       dev->s-=60;
+               if (dev->s >= 60) {
+                       dev->s -= 60;
                        dev->m++;
-                       if (dev->m>60) {
-                               dev->m-=60;
+                       if (dev->m > 60) {
+                               dev->m -= 60;
                                dev->h++;
-                               if (dev->h>24)
-                                       dev->h-=24;
+                               if (dev->h > 24)
+                                       dev->h -= 24;
                        }
                }
        }
-       sprintf(dev->timestr,"%02d:%02d:%02d:%03d",
-                       dev->h,dev->m,dev->s,(dev->us+500)/1000);
+       sprintf(dev->timestr, "%02d:%02d:%02d:%03d",
+                       dev->h, dev->m, dev->s,  (dev->us + 500) / 1000);
 
-       dprintk(2,"vivifill at %s: Buffer 0x%08lx size= %d\n",dev->timestr,
-                       (unsigned long)tmpbuf,pos);
+       dprintk(2, "vivifill at %s: Buffer 0x%08lx size= %d\n", dev->timestr,
+                       (unsigned long)tmpbuf, pos);
 
        /* Advice that buffer was filled */
        buf->vb.state = VIDEOBUF_DONE;
@@ -385,14 +385,14 @@ static int restart_video_queue(struct vivi_dmaqueue *dma_q);
 static void vivi_thread_tick(struct vivi_dmaqueue  *dma_q)
 {
        struct vivi_buffer    *buf;
-       struct vivi_dev *dev= container_of(dma_q,struct vivi_dev,vidq);
+       struct vivi_dev *dev = container_of(dma_q, struct vivi_dev, vidq);
 
        int bc;
 
        /* Announces videobuf that all went ok */
        for (bc = 0;; bc++) {
                if (list_empty(&dma_q->active)) {
-                       dprintk(1,"No active queue to serve\n");
+                       dprintk(1, "No active queue to serve\n");
                        break;
                }
 
@@ -406,19 +406,20 @@ static void vivi_thread_tick(struct vivi_dmaqueue  *dma_q)
                }
 
                do_gettimeofday(&buf->vb.ts);
-               dprintk(2,"[%p/%d] wakeup\n",buf,buf->vb.i);
+               dprintk(2, "[%p/%d] wakeup\n", buf, buf->vb. i);
 
                /* Fill buffer */
-               vivi_fillbuff(dev,buf);
+               vivi_fillbuff(dev, buf);
 
                if (list_empty(&dma_q->active)) {
                        del_timer(&dma_q->timeout);
                } else {
-                       mod_timer(&dma_q->timeout, jiffies+BUFFER_TIMEOUT);
+                       mod_timer(&dma_q->timeout, jiffies + BUFFER_TIMEOUT);
                }
        }
        if (bc != 1)
-               dprintk(1,"%s: %d buffers handled (should be 1)\n",__FUNCTION__,bc);
+               dprintk(1, "%s: %d buffers handled (should be 1)\n",
+                       __FUNCTION__, bc);
 }
 
 static void vivi_sleep(struct vivi_dmaqueue  *dma_q)
@@ -426,30 +427,38 @@ static void vivi_sleep(struct vivi_dmaqueue  *dma_q)
        int timeout;
        DECLARE_WAITQUEUE(wait, current);
 
-       dprintk(1,"%s dma_q=0x%08lx\n",__FUNCTION__,(unsigned long)dma_q);
+       dprintk(1, "%s dma_q=0x%08lx\n", __FUNCTION__, (unsigned long)dma_q);
 
        add_wait_queue(&dma_q->wq, &wait);
        if (!kthread_should_stop()) {
                dma_q->frame++;
 
                /* Calculate time to wake up */
-               timeout=dma_q->ini_jiffies+msecs_to_jiffies((dma_q->frame*WAKE_NUMERATOR*1000)/WAKE_DENOMINATOR)-jiffies;
+               timeout = dma_q->ini_jiffies+
+                         msecs_to_jiffies((dma_q->frame*WAKE_NUMERATOR * 1000)
+                                          / WAKE_DENOMINATOR) - jiffies;
 
                if (timeout <= 0) {
-                       int old=dma_q->frame;
-                       dma_q->frame=(jiffies_to_msecs(jiffies-dma_q->ini_jiffies)*WAKE_DENOMINATOR)/(WAKE_NUMERATOR*1000)+1;
-
-                       timeout=dma_q->ini_jiffies+msecs_to_jiffies((dma_q->frame*WAKE_NUMERATOR*1000)/WAKE_DENOMINATOR)-jiffies;
-
-                       dprintk(1,"underrun, losed %d frames. "
-                                 "Now, frame is %d. Waking on %d jiffies\n",
-                                       dma_q->frame-old,dma_q->frame,timeout);
+                       int old = dma_q->frame;
+                       dma_q->frame = (jiffies_to_msecs(jiffies -
+                                       dma_q->ini_jiffies) *
+                                       WAKE_DENOMINATOR) /
+                                       (WAKE_NUMERATOR * 1000) + 1;
+
+                       timeout = dma_q->ini_jiffies+
+                               msecs_to_jiffies((dma_q->frame *
+                                                 WAKE_NUMERATOR * 1000)
+                                                 / WAKE_DENOMINATOR) - jiffies;
+
+                       dprintk(1, "underrun, losed %d frames. "
+                                  "Now, frame is %d. Waking on %d jiffies\n",
+                                  dma_q->frame-old, dma_q->frame, timeout);
                } else
-                       dprintk(1,"will sleep for %i jiffies\n",timeout);
+                       dprintk(1, "will sleep for %i jiffies\n", timeout);
 
                vivi_thread_tick(dma_q);
 
-               schedule_timeout_interruptible (timeout);
+               schedule_timeout_interruptible(timeout);
        }
 
        remove_wait_queue(&dma_q->wq, &wait);
@@ -458,9 +467,9 @@ static void vivi_sleep(struct vivi_dmaqueue  *dma_q)
 
 static int vivi_thread(void *data)
 {
-       struct vivi_dmaqueue  *dma_q=data;
+       struct vivi_dmaqueue  *dma_q = data;
 
-       dprintk(1,"thread started\n");
+       dprintk(1, "thread started\n");
 
        mod_timer(&dma_q->timeout, jiffies+BUFFER_TIMEOUT);
        set_freezable();
@@ -477,10 +486,10 @@ static int vivi_thread(void *data)
 
 static int vivi_start_thread(struct vivi_dmaqueue  *dma_q)
 {
-       dma_q->frame=0;
-       dma_q->ini_jiffies=jiffies;
+       dma_q->frame = 0;
+       dma_q->ini_jiffies = jiffies;
 
-       dprintk(1,"%s\n",__FUNCTION__);
+       dprintk(1, "%s\n", __FUNCTION__);
 
        dma_q->kthread = kthread_run(vivi_thread, dma_q, "vivi");
 
@@ -491,17 +500,17 @@ static int vivi_start_thread(struct vivi_dmaqueue  *dma_q)
        /* Wakes thread */
        wake_up_interruptible(&dma_q->wq);
 
-       dprintk(1,"returning from %s\n",__FUNCTION__);
+       dprintk(1, "returning from %s\n", __FUNCTION__);
        return 0;
 }
 
 static void vivi_stop_thread(struct vivi_dmaqueue  *dma_q)
 {
-       dprintk(1,"%s\n",__FUNCTION__);
+       dprintk(1, "%s\n", __FUNCTION__);
        /* shutdown control thread */
        if (dma_q->kthread) {
                kthread_stop(dma_q->kthread);
-               dma_q->kthread=NULL;
+               dma_q->kthread = NULL;
        }
 }
 
@@ -509,16 +518,16 @@ static int restart_video_queue(struct vivi_dmaqueue *dma_q)
 {
        struct vivi_buffer *buf, *prev;
 
-       dprintk(1,"%s dma_q=0x%08lx\n",__FUNCTION__,(unsigned long)dma_q);
+       dprintk(1, "%s dma_q=0x%08lx\n", __FUNCTION__, (unsigned long)dma_q);
 
        if (!list_empty(&dma_q->active)) {
-               buf = list_entry(dma_q->active.next, struct vivi_buffer, vb.queue);
-               dprintk(2,"restart_queue [%p/%d]: restart dma\n",
+               buf = list_entry(dma_q->active.next,
+                                struct vivi_buffer, vb.queue);
+               dprintk(2, "restart_queue [%p/%d]: restart dma\n",
                        buf, buf->vb.i);
 
-               dprintk(1,"Restarting video dma\n");
+               dprintk(1, "Restarting video dma\n");
                vivi_stop_thread(dma_q);
-//             vivi_start_thread(dma_q);
 
                /* cancel all outstanding capture / vbi requests */
                list_for_each_entry_safe(buf, prev, &dma_q->active, vb.queue) {
@@ -535,28 +544,29 @@ static int restart_video_queue(struct vivi_dmaqueue *dma_q)
        for (;;) {
                if (list_empty(&dma_q->queued))
                        return 0;
-               buf = list_entry(dma_q->queued.next, struct vivi_buffer, vb.queue);
+               buf = list_entry(dma_q->queued.next,
+                                struct vivi_buffer, vb.queue);
                if (NULL == prev) {
                        list_del(&buf->vb.queue);
-                       list_add_tail(&buf->vb.queue,&dma_q->active);
+                       list_add_tail(&buf->vb.queue, &dma_q->active);
 
-                       dprintk(1,"Restarting video dma\n");
+                       dprintk(1, "Restarting video dma\n");
                        vivi_stop_thread(dma_q);
                        vivi_start_thread(dma_q);
 
                        buf->vb.state = VIDEOBUF_ACTIVE;
                        mod_timer(&dma_q->timeout, jiffies+BUFFER_TIMEOUT);
-                       dprintk(2,"[%p/%d] restart_queue - first active\n",
-                               buf,buf->vb.i);
+                       dprintk(2, "[%p/%d] restart_queue - first active\n",
+                               buf, buf->vb.i);
 
                } else if (prev->vb.width  == buf->vb.width  &&
                           prev->vb.height == buf->vb.height &&
                           prev->fmt       == buf->fmt) {
                        list_del(&buf->vb.queue);
-                       list_add_tail(&buf->vb.queue,&dma_q->active);
+                       list_add_tail(&buf->vb.queue, &dma_q->active);
                        buf->vb.state = VIDEOBUF_ACTIVE;
-                       dprintk(2,"[%p/%d] restart_queue - move to active\n",
-                               buf,buf->vb.i);
+                       dprintk(2, "[%p/%d] restart_queue - move to active\n",
+                               buf, buf->vb.i);
                } else {
                        return 0;
                }
@@ -566,16 +576,17 @@ static int restart_video_queue(struct vivi_dmaqueue *dma_q)
 
 static void vivi_vid_timeout(unsigned long data)
 {
-       struct vivi_dev      *dev  = (struct vivi_dev*)data;
+       struct vivi_dev      *dev  = (struct vivi_dev *)data;
        struct vivi_dmaqueue *vidq = &dev->vidq;
        struct vivi_buffer   *buf;
 
        while (!list_empty(&vidq->active)) {
-               buf = list_entry(vidq->active.next, struct vivi_buffer, vb.queue);
+               buf = list_entry(vidq->active.next,
+                                struct vivi_buffer, vb.queue);
                list_del(&buf->vb.queue);
                buf->vb.state = VIDEOBUF_ERROR;
                wake_up(&buf->vb.done);
-               printk("vivi/0: [%p/%d] timeout\n", buf, buf->vb.i);
+               printk(KERN_INFO "vivi/0: [%p/%d] timeout\n", buf, buf->vb.i);
        }
 
        restart_video_queue(vidq);
@@ -597,19 +608,19 @@ buffer_setup(struct videobuf_queue *vq, unsigned int *count, unsigned int *size)
        while (*size * *count > vid_limit * 1024 * 1024)
                (*count)--;
 
-       dprintk(1,"%s, count=%d, size=%d\n",__FUNCTION__,*count, *size);
+       dprintk(1, "%s, count=%d, size=%d\n", __FUNCTION__, *count, *size);
 
        return 0;
 }
 
 static void free_buffer(struct videobuf_queue *vq, struct vivi_buffer *buf)
 {
-       dprintk(1,"%s\n",__FUNCTION__);
+       dprintk(1, "%s\n", __FUNCTION__);
 
        if (in_interrupt())
                BUG();
 
-       videobuf_waiton(&buf->vb,0,0);
+       videobuf_waiton(&buf->vb, 0, 0);
        videobuf_vmalloc_free(&buf->vb);
        buf->vb.state = VIDEOBUF_NEEDS_INIT;
 }
@@ -621,10 +632,10 @@ buffer_prepare(struct videobuf_queue *vq, struct videobuf_buffer *vb,
                                                enum v4l2_field field)
 {
        struct vivi_fh     *fh  = vq->priv_data;
-       struct vivi_buffer *buf = container_of(vb,struct vivi_buffer,vb);
+       struct vivi_buffer *buf = container_of(vb, struct vivi_buffer, vb);
        int rc, init_buffer = 0;
 
-       dprintk(1,"%s, field=%d\n",__FUNCTION__,field);
+       dprintk(1, "%s, field=%d\n", __FUNCTION__, field);
 
        BUG_ON(NULL == fh->fmt);
        if (fh->width  < 48 || fh->width  > norm_maxw() ||
@@ -646,7 +657,8 @@ buffer_prepare(struct videobuf_queue *vq, struct videobuf_buffer *vb,
        }
 
        if (VIDEOBUF_NEEDS_INIT == buf->vb.state) {
-               if (0 != (rc = videobuf_iolock(vq,&buf->vb,NULL)))
+               rc = videobuf_iolock(vq, &buf->vb, NULL);
+               if (rc < 0)
                        goto fail;
        }
 
@@ -655,65 +667,68 @@ buffer_prepare(struct videobuf_queue *vq, struct videobuf_buffer *vb,
        return 0;
 
 fail:
-       free_buffer(vq,buf);
+       free_buffer(vq, buf);
        return rc;
 }
 
 static void
 buffer_queue(struct videobuf_queue *vq, struct videobuf_buffer *vb)
 {
-       struct vivi_buffer    *buf     = container_of(vb,struct vivi_buffer,vb);
-       struct vivi_fh        *fh      = vq->priv_data;
-       struct vivi_dev       *dev     = fh->dev;
-       struct vivi_dmaqueue  *vidq    = &dev->vidq;
+       struct vivi_buffer    *buf  = container_of(vb, struct vivi_buffer, vb);
+       struct vivi_fh        *fh   = vq->priv_data;
+       struct vivi_dev       *dev  = fh->dev;
+       struct vivi_dmaqueue  *vidq = &dev->vidq;
        struct vivi_buffer    *prev;
 
        if (!list_empty(&vidq->queued)) {
-               dprintk(1,"adding vb queue=0x%08lx\n",(unsigned long)&buf->vb.queue);
-               list_add_tail(&buf->vb.queue,&vidq->queued);
+               dprintk(1, "adding vb queue=0x%08lx\n",
+                       (unsigned long)&buf->vb.queue);
+               list_add_tail(&buf->vb.queue, &vidq->queued);
                buf->vb.state = VIDEOBUF_QUEUED;
-               dprintk(2,"[%p/%d] buffer_queue - append to queued\n",
+               dprintk(2, "[%p/%d] buffer_queue - append to queued\n",
                        buf, buf->vb.i);
        } else if (list_empty(&vidq->active)) {
-               list_add_tail(&buf->vb.queue,&vidq->active);
+               list_add_tail(&buf->vb.queue, &vidq->active);
 
                buf->vb.state = VIDEOBUF_ACTIVE;
                mod_timer(&vidq->timeout, jiffies+BUFFER_TIMEOUT);
-               dprintk(2,"[%p/%d] buffer_queue - first active\n",
+               dprintk(2, "[%p/%d] buffer_queue - first active\n",
                        buf, buf->vb.i);
 
                vivi_start_thread(vidq);
        } else {
-               prev = list_entry(vidq->active.prev, struct vivi_buffer, vb.queue);
+               prev = list_entry(vidq->active.prev,
+                                 struct vivi_buffer, vb.queue);
                if (prev->vb.width  == buf->vb.width  &&
                    prev->vb.height == buf->vb.height &&
                    prev->fmt       == buf->fmt) {
-                       list_add_tail(&buf->vb.queue,&vidq->active);
+                       list_add_tail(&buf->vb.queue, &vidq->active);
                        buf->vb.state = VIDEOBUF_ACTIVE;
-                       dprintk(2,"[%p/%d] buffer_queue - append to active\n",
+                       dprintk(2, "[%p/%d] buffer_queue - append to active\n",
                                buf, buf->vb.i);
 
                } else {
-                       list_add_tail(&buf->vb.queue,&vidq->queued);
+                       list_add_tail(&buf->vb.queue, &vidq->queued);
                        buf->vb.state = VIDEOBUF_QUEUED;
-                       dprintk(2,"[%p/%d] buffer_queue - first queued\n",
+                       dprintk(2, "[%p/%d] buffer_queue - first queued\n",
                                buf, buf->vb.i);
                }
        }
 }
 
-static void buffer_release(struct videobuf_queue *vq, struct videobuf_buffer *vb)
+static void buffer_release(struct videobuf_queue *vq,
+                          struct videobuf_buffer *vb)
 {
-       struct vivi_buffer   *buf  = container_of(vb,struct vivi_buffer,vb);
+       struct vivi_buffer   *buf  = container_of(vb, struct vivi_buffer, vb);
        struct vivi_fh       *fh   = vq->priv_data;
-       struct vivi_dev      *dev  = (struct vivi_dev*)fh->dev;
+       struct vivi_dev      *dev  = (struct vivi_dev *)fh->dev;
        struct vivi_dmaqueue *vidq = &dev->vidq;
 
-       dprintk(1,"%s\n",__FUNCTION__);
+       dprintk(1, "%s\n", __FUNCTION__);
 
        vivi_stop_thread(vidq);
 
-       free_buffer(vq,buf);
+       free_buffer(vq, buf);
 }
 
 static struct videobuf_queue_ops vivi_video_qops = {
@@ -726,7 +741,7 @@ static struct videobuf_queue_ops vivi_video_qops = {
 /* ------------------------------------------------------------------
        IOCTL vidioc handling
    ------------------------------------------------------------------*/
-static int vidioc_querycap (struct file *file, void  *priv,
+static int vidioc_querycap(struct file *file, void  *priv,
                                        struct v4l2_capability *cap)
 {
        strcpy(cap->driver, "vivi");
@@ -738,21 +753,21 @@ static int vidioc_querycap (struct file *file, void  *priv,
        return 0;
 }
 
-static int vidioc_enum_fmt_cap (struct file *file, void  *priv,
+static int vidioc_enum_fmt_cap(struct file *file, void  *priv,
                                        struct v4l2_fmtdesc *f)
 {
        if (f->index > 0)
                return -EINVAL;
 
-       strlcpy(f->description,format.name,sizeof(f->description));
+       strlcpy(f->description, format.name, sizeof(f->description));
        f->pixelformat = format.fourcc;
        return 0;
 }
 
-static int vidioc_g_fmt_cap (struct file *file, void *priv,
+static int vidioc_g_fmt_cap(struct file *file, void *priv,
                                        struct v4l2_format *f)
 {
-       struct vivi_fh  *fh=priv;
+       struct vivi_fh *fh = priv;
 
        f->fmt.pix.width        = fh->width;
        f->fmt.pix.height       = fh->height;
@@ -766,7 +781,7 @@ static int vidioc_g_fmt_cap (struct file *file, void *priv,
        return (0);
 }
 
-static int vidioc_try_fmt_cap (struct file *file, void *priv,
+static int vidioc_try_fmt_cap(struct file *file, void *priv,
                        struct v4l2_format *f)
 {
        struct vivi_fmt *fmt;
@@ -774,18 +789,18 @@ static int vidioc_try_fmt_cap (struct file *file, void *priv,
        unsigned int maxw, maxh;
 
        if (format.fourcc != f->fmt.pix.pixelformat) {
-               dprintk(1,"Fourcc format (0x%08x) invalid. Driver accepts "
-                       "only 0x%08x\n",f->fmt.pix.pixelformat,format.fourcc);
+               dprintk(1, "Fourcc format (0x%08x) invalid. Driver accepts "
+                       "only 0x%08x\n", f->fmt.pix.pixelformat, format.fourcc);
                return -EINVAL;
        }
-       fmt=&format;
+       fmt = &format;
 
        field = f->fmt.pix.field;
 
        if (field == V4L2_FIELD_ANY) {
-               field=V4L2_FIELD_INTERLACED;
+               field = V4L2_FIELD_INTERLACED;
        } else if (V4L2_FIELD_INTERLACED != field) {
-               dprintk(1,"Field type invalid.\n");
+               dprintk(1, "Field type invalid.\n");
                return -EINVAL;
        }
 
@@ -811,11 +826,11 @@ static int vidioc_try_fmt_cap (struct file *file, void *priv,
 }
 
 /*FIXME: This seems to be generic enough to be at videodev2 */
-static int vidioc_s_fmt_cap (struct file *file, void *priv,
+static int vidioc_s_fmt_cap(struct file *file, void *priv,
                                        struct v4l2_format *f)
 {
-       struct vivi_fh  *fh=priv;
-       int ret = vidioc_try_fmt_cap(file,fh,f);
+       struct vivi_fh  *fh = priv;
+       int ret = vidioc_try_fmt_cap(file, fh, f);
        if (ret < 0)
                return (ret);
 
@@ -828,47 +843,48 @@ static int vidioc_s_fmt_cap (struct file *file, void *priv,
        return (0);
 }
 
-static int vidioc_reqbufs (struct file *file, void *priv, struct v4l2_requestbuffers *p)
+static int vidioc_reqbufs(struct file *file, void *priv,
+                         struct v4l2_requestbuffers *p)
 {
-       struct vivi_fh  *fh=priv;
+       struct vivi_fh  *fh = priv;
 
        return (videobuf_reqbufs(&fh->vb_vidq, p));
 }
 
-static int vidioc_querybuf (struct file *file, void *priv, struct v4l2_buffer *p)
+static int vidioc_querybuf(struct file *file, void *priv, struct v4l2_buffer *p)
 {
-       struct vivi_fh  *fh=priv;
+       struct vivi_fh  *fh = priv;
 
        return (videobuf_querybuf(&fh->vb_vidq, p));
 }
 
-static int vidioc_qbuf (struct file *file, void *priv, struct v4l2_buffer *p)
+static int vidioc_qbuf(struct file *file, void *priv, struct v4l2_buffer *p)
 {
-       struct vivi_fh  *fh=priv;
+       struct vivi_fh *fh = priv;
 
        return (videobuf_qbuf(&fh->vb_vidq, p));
 }
 
-static int vidioc_dqbuf (struct file *file, void *priv, struct v4l2_buffer *p)
+static int vidioc_dqbuf(struct file *file, void *priv, struct v4l2_buffer *p)
 {
-       struct vivi_fh  *fh=priv;
+       struct vivi_fh  *fh = priv;
 
        return (videobuf_dqbuf(&fh->vb_vidq, p,
                                file->f_flags & O_NONBLOCK));
 }
 
 #ifdef CONFIG_VIDEO_V4L1_COMPAT
-static int vidiocgmbuf (struct file *file, void *priv, struct video_mbuf *mbuf)
+static int vidiocgmbuf(struct file *file, void *priv, struct video_mbuf *mbuf)
 {
-       struct vivi_fh  *fh=priv;
+       struct vivi_fh  *fh = priv;
 
-       return videobuf_cgmbuf (&fh->vb_vidq, mbuf, 8);
+       return videobuf_cgmbuf(&fh->vb_vidq, mbuf, 8);
 }
 #endif
 
 static int vidioc_streamon(struct file *file, void *priv, enum v4l2_buf_type i)
 {
-       struct vivi_fh  *fh=priv;
+       struct vivi_fh  *fh = priv;
 
        if (fh->type != V4L2_BUF_TYPE_VIDEO_CAPTURE)
                return -EINVAL;
@@ -880,7 +896,7 @@ static int vidioc_streamon(struct file *file, void *priv, enum v4l2_buf_type i)
 
 static int vidioc_streamoff(struct file *file, void *priv, enum v4l2_buf_type i)
 {
-       struct vivi_fh  *fh=priv;
+       struct vivi_fh  *fh = priv;
 
        if (fh->type != V4L2_BUF_TYPE_VIDEO_CAPTURE)
                return -EINVAL;
@@ -890,13 +906,13 @@ static int vidioc_streamoff(struct file *file, void *priv, enum v4l2_buf_type i)
        return videobuf_streamoff(&fh->vb_vidq);
 }
 
-static int vidioc_s_std (struct file *file, void *priv, v4l2_std_id *i)
+static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id *i)
 {
        return 0;
 }
 
 /* only one input in this sample driver */
-static int vidioc_enum_input (struct file *file, void *priv,
+static int vidioc_enum_input(struct file *file, void *priv,
                                struct v4l2_input *inp)
 {
        if (inp->index != 0)
@@ -904,18 +920,18 @@ static int vidioc_enum_input (struct file *file, void *priv,
 
        inp->type = V4L2_INPUT_TYPE_CAMERA;
        inp->std = V4L2_STD_NTSC_M;
-       strcpy(inp->name,"Camera");
+       strcpy(inp->name, "Camera");
 
        return (0);
 }
 
-static int vidioc_g_input (struct file *file, void *priv, unsigned int *i)
+static int vidioc_g_input(struct file *file, void *priv, unsigned int *i)
 {
        *i = 0;
 
        return (0);
 }
-static int vidioc_s_input (struct file *file, void *priv, unsigned int i)
+static int vidioc_s_input(struct file *file, void *priv, unsigned int i)
 {
        if (i > 0)
                return -EINVAL;
@@ -924,8 +940,8 @@ static int vidioc_s_input (struct file *file, void *priv, unsigned int i)
 }
 
        /* --- controls ---------------------------------------------- */
-static int vidioc_queryctrl (struct file *file, void *priv,
-                               struct v4l2_queryctrl *qc)
+static int vidioc_queryctrl(struct file *file, void *priv,
+                           struct v4l2_queryctrl *qc)
 {
        int i;
 
@@ -939,33 +955,31 @@ static int vidioc_queryctrl (struct file *file, void *priv,
        return -EINVAL;
 }
 
-static int vidioc_g_ctrl (struct file *file, void *priv,
-                               struct v4l2_control *ctrl)
+static int vidioc_g_ctrl(struct file *file, void *priv,
+                        struct v4l2_control *ctrl)
 {
        int i;
 
        for (i = 0; i < ARRAY_SIZE(vivi_qctrl); i++)
                if (ctrl->id == vivi_qctrl[i].id) {
-                       ctrl->value=qctl_regs[i];
+                       ctrl->value = qctl_regs[i];
                        return (0);
                }
 
        return -EINVAL;
 }
-static int vidioc_s_ctrl (struct file *file, void *priv,
+static int vidioc_s_ctrl(struct file *file, void *priv,
                                struct v4l2_control *ctrl)
 {
        int i;
 
        for (i = 0; i < ARRAY_SIZE(vivi_qctrl); i++)
                if (ctrl->id == vivi_qctrl[i].id) {
-                       if (ctrl->value <
-                               vivi_qctrl[i].minimum
-                               || ctrl->value >
-                               vivi_qctrl[i].maximum) {
+                       if (ctrl->value < vivi_qctrl[i].minimum
+                           || ctrl->value > vivi_qctrl[i].maximum) {
                                        return (-ERANGE);
                                }
-                       qctl_regs[i]=ctrl->value;
+                       qctl_regs[i] = ctrl->value;
                        return (0);
                }
        return -EINVAL;
@@ -984,16 +998,14 @@ static int vivi_open(struct inode *inode, struct file *file)
        struct vivi_fh *fh;
        int i;
 
-       printk(KERN_DEBUG "vivi: open called (minor=%d)\n",minor);
+       printk(KERN_DEBUG "vivi: open called (minor=%d)\n", minor);
 
        list_for_each_entry(dev, &vivi_devlist, vivi_devlist)
                if (dev->vfd->minor == minor)
                        goto found;
        return -ENODEV;
-found:
-
-
 
+found:
        /* If more than one user, mutex should be added */
        dev->users++;
 
@@ -1001,7 +1013,7 @@ found:
                v4l2_type_names[V4L2_BUF_TYPE_VIDEO_CAPTURE], dev->users);
 
        /* allocate + initialize per filehandle data */
-       fh = kzalloc(sizeof(*fh),GFP_KERNEL);
+       fh = kzalloc(sizeof(*fh), GFP_KERNEL);
        if (NULL == fh) {
                dev->users--;
                return -ENOMEM;
@@ -1017,27 +1029,21 @@ found:
 
        /* Put all controls at a sane state */
        for (i = 0; i < ARRAY_SIZE(vivi_qctrl); i++)
-               qctl_regs[i] =vivi_qctrl[i].default_value;
-
-       dprintk(1,"Open: fh=0x%08lx, dev=0x%08lx, dev->vidq=0x%08lx\n",
-               (unsigned long)fh,(unsigned long)dev,(unsigned long)&dev->vidq);
-       dprintk(1,"Open: list_empty queued=%d\n",list_empty(&dev->vidq.queued));
-       dprintk(1,"Open: list_empty active=%d\n",list_empty(&dev->vidq.active));
+               qctl_regs[i] = vivi_qctrl[i].default_value;
 
        /* Resets frame counters */
-       dev->h=0;
-       dev->m=0;
-       dev->s=0;
-       dev->us=0;
-       dev->jiffies=jiffies;
-       sprintf(dev->timestr,"%02d:%02d:%02d:%03d",
-                       dev->h,dev->m,dev->s,(dev->us+500)/1000);
+       dev->h = 0;
+       dev->m = 0;
+       dev->s = 0;
+       dev->us = 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);
 
        videobuf_queue_vmalloc_init(&fh->vb_vidq, &vivi_video_qops,
-                       NULL, NULL,
-                       fh->type,
-                       V4L2_FIELD_INTERLACED,
-                       sizeof(struct vivi_buffer),fh);
+                       NULL, NULL, fh->type, V4L2_FIELD_INTERLACED,
+                       sizeof(struct vivi_buffer), fh);
 
        return 0;
 }
@@ -1045,9 +1051,9 @@ found:
 static ssize_t
 vivi_read(struct file *file, char __user *data, size_t count, loff_t *ppos)
 {
-       struct vivi_fh        *fh = file->private_data;
+       struct vivi_fh *fh = file->private_data;
 
-       if (fh->type==V4L2_BUF_TYPE_VIDEO_CAPTURE) {
+       if (fh->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) {
                return videobuf_read_stream(&fh->vb_vidq, data, count, ppos, 0,
                                        file->f_flags & O_NONBLOCK);
        }
@@ -1060,7 +1066,7 @@ vivi_poll(struct file *file, struct poll_table_struct *wait)
        struct vivi_fh        *fh = file->private_data;
        struct videobuf_queue *q = &fh->vb_vidq;
 
-       dprintk(1,"%s\n",__FUNCTION__);
+       dprintk(1, "%s\n", __FUNCTION__);
 
        if (V4L2_BUF_TYPE_VIDEO_CAPTURE != fh->type)
                return POLLERR;
@@ -1084,7 +1090,7 @@ static int vivi_close(struct inode *inode, struct file *file)
 
        dev->users--;
 
-       printk(KERN_DEBUG "vivi: close called (minor=%d, users=%d)\n",minor,dev->users);
+       dprintk(1, "close called (minor=%d, users=%d)\n", minor, dev->users);
 
        return 0;
 }
@@ -1110,17 +1116,16 @@ static int vivi_release(void)
        return 0;
 }
 
-static int
-vivi_mmap(struct file *file, struct vm_area_struct * vma)
+static int vivi_mmap(struct file *file, struct vm_area_struct *vma)
 {
-       struct vivi_fh        *fh = file->private_data;
+       struct vivi_fh *fh = file->private_data;
        int ret;
 
-       dprintk (1,"mmap called, vma=0x%08lx\n",(unsigned long)vma);
+       dprintk(1, "mmap called, vma=0x%08lx\n", (unsigned long)vma);
 
-       ret=videobuf_mmap_mapper(&fh->vb_vidq, vma);
+       ret = videobuf_mmap_mapper(&fh->vb_vidq, vma);
 
-       dprintk (1,"vma start=0x%08lx, size=%ld, ret=%d\n",
+       dprintk(1, "vma start=0x%08lx, size=%ld, ret=%d\n",
                (unsigned long)vma->vm_start,
                (unsigned long)vma->vm_end-(unsigned long)vma->vm_start,
                ret);