]> bbs.cooldavid.org Git - net-next-2.6.git/commitdiff
Staging: d53155_drv.c: cleanup fbuffer usage
authorH Hartley Sweeten <hartleys@visionengravers.com>
Thu, 24 Jun 2010 16:31:13 +0000 (09:31 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 24 Jun 2010 21:20:00 +0000 (14:20 -0700)
The global symbol dt3155_fbuffer[], declared in dt3155_isr.c, is really
just a pointer to dt3155_status[].fbuffer. To improve readability, make
some of the really long lines shorter, and make the buffer access more
consistent, use &dt3155_status[].fbuffer to access the buffer structure.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Scott Smedley <ss@aao.gov.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/dt3155/dt3155_drv.c

index 88c9e5990bd1f02b294b9111df4b334e68204c6b..f19cc1fe9f5a6aa200531b334d03e322a35301f6 100644 (file)
@@ -135,6 +135,8 @@ u32 unique_tag = 0;;
  */
 static void quick_stop (int minor)
 {
+  struct dt3155_fbuffer *fb = &dt3155_status[minor].fbuffer;
+
   // TODO: scott was here
 #if 1
   int_csr_r.reg = readl(dt3155_lbase[minor] + INT_CSR);
@@ -146,11 +148,11 @@ static void quick_stop (int minor)
   dt3155_status[minor].state &= ~(DT3155_STATE_STOP|0xff);
   /* mark the system stopped: */
   dt3155_status[minor].state |= DT3155_STATE_IDLE;
-  dt3155_fbuffer[minor]->stop_acquire = 0;
-  dt3155_fbuffer[minor]->even_stopped = 0;
+  fb->stop_acquire = 0;
+  fb->even_stopped = 0;
 #else
   dt3155_status[minor].state |= DT3155_STATE_STOP;
-  dt3155_status[minor].fbuffer.stop_acquire = 1;
+  fb->stop_acquire = 1;
 #endif
 
 }
@@ -170,6 +172,7 @@ static void dt3155_isr(int irq, void *dev_id, struct pt_regs *regs)
   unsigned long flags;
   u32 buffer_addr;
   void __iomem *mmio;
+  struct dt3155_fbuffer *fb;
 
   /* find out who issued the interrupt */
   for (index = 0; index < ndevices; index++) {
@@ -187,6 +190,7 @@ static void dt3155_isr(int irq, void *dev_id, struct pt_regs *regs)
   }
 
   mmio = dt3155_lbase[minor];
+  fb = &dt3155_status[minor].fbuffer;
 
   /* Check for corruption and set a flag if so */
   csr1_r.reg = readl(mmio + CSR1);
@@ -209,7 +213,7 @@ static void dt3155_isr(int irq, void *dev_id, struct pt_regs *regs)
       if ((dt3155_status[minor].state & DT3155_STATE_MODE) ==
           DT3155_STATE_FLD)
        {
-         dt3155_fbuffer[minor]->frame_count++;
+         fb->frame_count++;
        }
 
       ReadI2C(mmio, EVEN_CSR, &i2c_even_csr.reg);
@@ -218,10 +222,10 @@ static void dt3155_isr(int irq, void *dev_id, struct pt_regs *regs)
       int_csr_r.fld.FLD_END_EVE = 1;
 
       /* disable the interrupt if last field */
-      if (dt3155_fbuffer[minor]->stop_acquire)
+      if (fb->stop_acquire)
        {
          printk("dt3155:  even stopped.\n");
-         dt3155_fbuffer[minor]->even_stopped = 1;
+         fb->even_stopped = 1;
          if (i2c_even_csr.fld.SNGL_EVE)
            {
              int_csr_r.fld.FLD_END_EVE_EN = 0;
@@ -241,9 +245,8 @@ static void dt3155_isr(int irq, void *dev_id, struct pt_regs *regs)
          /* GCS (Aug 2, 2002) -- In field mode, dma the odd field
             into the lower half of the buffer */
          const u32 stride =  dt3155_status[minor].config.cols;
-         buffer_addr = dt3155_fbuffer[minor]->
-           frame_info[dt3155_fbuffer[minor]->active_buf].addr
-           + (DT3155_MAX_ROWS / 2) * stride;
+         buffer_addr = fb->frame_info[fb->active_buf].addr +
+                       (DT3155_MAX_ROWS / 2) * stride;
          local_save_flags(flags);
          local_irq_disable();
          wake_up_interruptible(&dt3155_read_wait_queue[minor]);
@@ -262,13 +265,11 @@ static void dt3155_isr(int irq, void *dev_id, struct pt_regs *regs)
 
       /* Note that we actually saw an even field meaning  */
       /* that subsequent odd field complete the frame     */
-      dt3155_fbuffer[minor]->even_happened = 1;
+      fb->even_happened = 1;
 
       /* recording the time that the even field finished, this should be */
       /* about time in the middle of the frame */
-      do_gettimeofday(&(dt3155_fbuffer[minor]->
-                        frame_info[dt3155_fbuffer[minor]->
-                                    active_buf].time));
+      do_gettimeofday(&fb->frame_info[fb->active_buf].time);
       return;
     }
 
@@ -280,15 +281,14 @@ static void dt3155_isr(int irq, void *dev_id, struct pt_regs *regs)
       /* Clear the interrupt? */
       int_csr_r.fld.FLD_END_ODD = 1;
 
-      if (dt3155_fbuffer[minor]->even_happened ||
+      if (fb->even_happened ||
          (dt3155_status[minor].state & DT3155_STATE_MODE) ==
          DT3155_STATE_FLD)
        {
-         dt3155_fbuffer[minor]->frame_count++;
+         fb->frame_count++;
        }
 
-      if (dt3155_fbuffer[minor]->stop_acquire &&
-          dt3155_fbuffer[minor]->even_stopped)
+      if (fb->stop_acquire && fb->even_stopped)
        {
          printk(KERN_DEBUG "dt3155:  stopping odd..\n");
          if (i2c_odd_csr.fld.SNGL_ODD)
@@ -299,8 +299,8 @@ static void dt3155_isr(int irq, void *dev_id, struct pt_regs *regs)
 
              /* mark the system stopped: */
              dt3155_status[minor].state |= DT3155_STATE_IDLE;
-             dt3155_fbuffer[minor]->stop_acquire = 0;
-             dt3155_fbuffer[minor]->even_stopped = 0;
+             fb->stop_acquire = 0;
+             fb->even_stopped = 0;
 
              printk(KERN_DEBUG "dt3155:  state is now %x\n",
                     dt3155_status[minor].state);
@@ -316,7 +316,7 @@ static void dt3155_isr(int irq, void *dev_id, struct pt_regs *regs)
       /* if the odd field has been acquired, then     */
       /* change the next dma location for both fields */
       /* and wake up the process if sleeping          */
-      if (dt3155_fbuffer[minor]->even_happened ||
+      if (fb->even_happened ||
           (dt3155_status[minor].state & DT3155_STATE_MODE) ==
           DT3155_STATE_FLD)
        {
@@ -327,7 +327,7 @@ static void dt3155_isr(int irq, void *dev_id, struct pt_regs *regs)
 #ifdef DEBUG_QUES_B
          printques(minor);
 #endif
-         if (dt3155_fbuffer[minor]->nbuffers > 2)
+         if (fb->nbuffers > 2)
            {
              if (!are_empty_buffers(minor))
                {
@@ -341,31 +341,26 @@ static void dt3155_isr(int irq, void *dev_id, struct pt_regs *regs)
              /* The ready_que can't be full, since we know
               * there is one active buffer right now, so it's safe
               * to push the active buf on the ready_que. */
-             push_ready(minor, dt3155_fbuffer[minor]->active_buf);
+             push_ready(minor, fb->active_buf);
              /* There's at least 1 empty -- make it active */
-             dt3155_fbuffer[minor]->active_buf = pop_empty(minor);
-             dt3155_fbuffer[minor]->
-               frame_info[dt3155_fbuffer[minor]->
-                           active_buf].tag = ++unique_tag;
+             fb->active_buf = pop_empty(minor);
+             fb->frame_info[fb->active_buf].tag = ++unique_tag;
            }
          else /* nbuffers == 2, special case */
            { /* There is 1 active buffer.
               * If there is a locked buffer, keep the active buffer
               * the same -- that means we drop a frame.
               */
-             if (dt3155_fbuffer[minor]->locked_buf < 0)
+             if (fb->locked_buf < 0)
                {
-                 push_ready(minor,
-                             dt3155_fbuffer[minor]->active_buf);
+                 push_ready(minor, fb->active_buf);
                  if (are_empty_buffers(minor))
                    {
-                     dt3155_fbuffer[minor]->active_buf =
-                       pop_empty(minor);
+                     fb->active_buf = pop_empty(minor);
                    }
                  else
                    { /* no empty or locked buffers, so use a readybuf */
-                     dt3155_fbuffer[minor]->active_buf =
-                       pop_ready(minor);
+                     fb->active_buf = pop_ready(minor);
                    }
                }
            }
@@ -374,7 +369,7 @@ static void dt3155_isr(int irq, void *dev_id, struct pt_regs *regs)
          printques(minor);
 #endif
 
-         dt3155_fbuffer[minor]->even_happened = 0;
+         fb->even_happened = 0;
 
          wake_up_interruptible(&dt3155_read_wait_queue[minor]);
 
@@ -383,8 +378,7 @@ static void dt3155_isr(int irq, void *dev_id, struct pt_regs *regs)
 
 
       /* Set up the DMA address for the next frame/field */
-      buffer_addr = dt3155_fbuffer[minor]->
-       frame_info[dt3155_fbuffer[minor]->active_buf].addr;
+      buffer_addr = fb->frame_info[fb->active_buf].addr;
       if ((dt3155_status[minor].state & DT3155_STATE_MODE) ==
           DT3155_STATE_FLD)
        {
@@ -421,13 +415,13 @@ static void dt3155_init_isr(int minor)
 {
   const u32 stride =  dt3155_status[minor].config.cols;
   void __iomem *mmio = dt3155_lbase[minor];
+  struct dt3155_fbuffer *fb = &dt3155_status[minor].fbuffer;
 
   switch (dt3155_status[minor].state & DT3155_STATE_MODE)
     {
     case DT3155_STATE_FLD:
       {
-       even_dma_start_r  = dt3155_status[minor].
-         fbuffer.frame_info[dt3155_status[minor].fbuffer.active_buf].addr;
+       even_dma_start_r  = fb->frame_info[fb->active_buf].addr;
        even_dma_stride_r = 0;
        odd_dma_stride_r  = 0;
 
@@ -440,8 +434,7 @@ static void dt3155_init_isr(int minor)
     case DT3155_STATE_FRAME:
     default:
       {
-       even_dma_start_r  = dt3155_status[minor].
-         fbuffer.frame_info[dt3155_status[minor].fbuffer.active_buf].addr;
+       even_dma_start_r  = fb->frame_info[fb->active_buf].addr;
        odd_dma_start_r   =  even_dma_start_r + stride;
        even_dma_stride_r =  stride;
        odd_dma_stride_r  =  stride;
@@ -514,6 +507,7 @@ static int dt3155_ioctl(struct inode *inode,
 {
   int minor = MINOR(inode->i_rdev); /* What device are we ioctl()'ing? */
   void __user *up = (void __user *)arg;
+  struct dt3155_fbuffer *fb = &dt3155_status[minor].fbuffer;
 
   if (minor >= MAXBOARDS || minor < 0)
     return -ENODEV;
@@ -572,7 +566,7 @@ static int dt3155_ioctl(struct inode *inode,
     case DT3155_STOP:
       {
        if (dt3155_status[minor].state & DT3155_STATE_STOP ||
-           dt3155_status[minor].fbuffer.stop_acquire)
+           fb->stop_acquire)
          return -EBUSY;
 
        if (dt3155_status[minor].state == DT3155_STATE_IDLE)
@@ -589,8 +583,8 @@ static int dt3155_ioctl(struct inode *inode,
        if (dt3155_status[minor].state != DT3155_STATE_IDLE)
          return -EBUSY;
 
-       dt3155_status[minor].fbuffer.stop_acquire = 0;
-       dt3155_status[minor].fbuffer.frame_count = 0;
+       fb->stop_acquire = 0;
+       fb->frame_count = 0;
 
        /* Set the MODE in the status -- we default to FRAME */
        if (dt3155_status[minor].config.acq_mode == DT3155_MODE_FIELD)
@@ -750,6 +744,7 @@ static ssize_t dt3155_read(struct file *filep, char __user *buf,
   int          minor = MINOR(filep->f_dentry->d_inode->i_rdev);
   u32          offset;
   int          frame_index;
+  struct dt3155_fbuffer *fb = &dt3155_status[minor].fbuffer;
   struct frame_info    *frame_info;
 
   /* TODO: this should check the error flag and */
@@ -800,14 +795,14 @@ static ssize_t dt3155_read(struct file *filep, char __user *buf,
        }
     }
 
-  frame_info = &dt3155_status[minor].fbuffer.frame_info[frame_index];
+  frame_info = &fb->frame_info[frame_index];
 
   /* make this an offset */
   offset = frame_info->addr - dt3155_status[minor].mem_addr;
 
   put_user(offset, (unsigned int __user *)buf);
   buf += sizeof(u32);
-  put_user(dt3155_status[minor].fbuffer.frame_count, (unsigned int __user *)buf);
+  put_user(fb->frame_count, (unsigned int __user *)buf);
   buf += sizeof(u32);
   put_user(dt3155_status[minor].state, (unsigned int __user *)buf);
   buf += sizeof(u32);