]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/staging/comedi/drivers/das800.c
Staging: comedi: make use of ARRAY_SIZE macro
[mv-sheeva.git] / drivers / staging / comedi / drivers / das800.c
index 7a6656bf809cfc76ea9eba79d93dedaf310b0634..6ee9648e5e18c085804e1ebd81c08a11cae80dd1 100644 (file)
@@ -72,7 +72,7 @@ cmd triggers supported:
 
 #define DAS800_SIZE           8
 #define TIMER_BASE            1000
-#define N_CHAN_AI             8        // number of analog input channels
+#define N_CHAN_AI             8        /*  number of analog input channels */
 
 /* Registers for the das800 */
 
@@ -94,8 +94,8 @@ cmd triggers supported:
 #define   IRQ                   0x8
 #define   BUSY                  0x80
 #define DAS800_GAIN           3
-#define   CIO_FFOV              0x8    // fifo overflow for cio-das802/16
-#define   CIO_ENHF              0x90   // interrupt fifo half full for cio-das802/16
+#define   CIO_FFOV              0x8    /*  fifo overflow for cio-das802/16 */
+#define   CIO_ENHF              0x90   /*  interrupt fifo half full for cio-das802/16 */
 #define   CONTROL1              0x80
 #define   CONV_CONTROL          0xa0
 #define   SCAN_LIMITS           0xc0
@@ -113,7 +113,7 @@ struct das800_board {
        int resolution;
 };
 
-//analog input ranges
+/* analog input ranges */
 static const struct comedi_lrange range_das800_ai = {
        1,
        {
@@ -184,46 +184,46 @@ enum { das800, ciodas800, das801, ciodas801, das802, ciodas802, ciodas80216 };
 
 static const struct das800_board das800_boards[] = {
        {
-             name:     "das-800",
-             ai_speed:25000,
-             ai_range:&range_das800_ai,
-             resolution:12,
+       .name = "das-800",
+       .ai_speed = 25000,
+       .ai_range = &range_das800_ai,
+       .resolution = 12,
                },
        {
-             name:     "cio-das800",
-             ai_speed:20000,
-             ai_range:&range_das800_ai,
-             resolution:12,
+       .name = "cio-das800",
+       .ai_speed = 20000,
+       .ai_range = &range_das800_ai,
+       .resolution = 12,
                },
        {
-             name:     "das-801",
-             ai_speed:25000,
-             ai_range:&range_das801_ai,
-             resolution:12,
+       .name = "das-801",
+       .ai_speed = 25000,
+       .ai_range = &range_das801_ai,
+       .resolution = 12,
                },
        {
-             name:     "cio-das801",
-             ai_speed:20000,
-             ai_range:&range_cio_das801_ai,
-             resolution:12,
+       .name = "cio-das801",
+       .ai_speed = 20000,
+       .ai_range = &range_cio_das801_ai,
+       .resolution = 12,
                },
        {
-             name:     "das-802",
-             ai_speed:25000,
-             ai_range:&range_das802_ai,
-             resolution:12,
+       .name = "das-802",
+       .ai_speed = 25000,
+       .ai_range = &range_das802_ai,
+       .resolution = 12,
                },
        {
-             name:     "cio-das802",
-             ai_speed:20000,
-             ai_range:&range_das802_ai,
-             resolution:12,
+       .name = "cio-das802",
+       .ai_speed = 20000,
+       .ai_range = &range_das802_ai,
+       .resolution = 12,
                },
        {
-             name:     "cio-das802/16",
-             ai_speed:10000,
-             ai_range:&range_das80216_ai,
-             resolution:16,
+       .name = "cio-das802/16",
+       .ai_speed = 10000,
+       .ai_range = &range_das80216_ai,
+       .resolution = 16,
                },
 };
 
@@ -242,43 +242,43 @@ struct das800_private {
 
 #define devpriv ((struct das800_private *)dev->private)
 
-static int das800_attach(struct comedi_device * dev, struct comedi_devconfig * it);
-static int das800_detach(struct comedi_device * dev);
-static int das800_cancel(struct comedi_device * dev, struct comedi_subdevice * s);
+static int das800_attach(struct comedi_device *dev, struct comedi_devconfig *it);
+static int das800_detach(struct comedi_device *dev);
+static int das800_cancel(struct comedi_device *dev, struct comedi_subdevice *s);
 
 static struct comedi_driver driver_das800 = {
-      driver_name:"das800",
-      module:THIS_MODULE,
-      attach:das800_attach,
-      detach:das800_detach,
-      num_names:sizeof(das800_boards) / sizeof(struct das800_board),
-      board_name:&das800_boards[0].name,
-      offset:sizeof(struct das800_board),
+       .driver_name = "das800",
+       .module = THIS_MODULE,
+       .attach = das800_attach,
+       .detach = das800_detach,
+       .num_names = ARRAY_SIZE(das800_boards),
+       .board_name = &das800_boards[0].name,
+       .offset = sizeof(struct das800_board),
 };
 
-static irqreturn_t das800_interrupt(int irq, void *d PT_REGS_ARG);
-static void enable_das800(struct comedi_device * dev);
-static void disable_das800(struct comedi_device * dev);
-static int das800_ai_do_cmdtest(struct comedi_device * dev, struct comedi_subdevice * s,
-       struct comedi_cmd * cmd);
-static int das800_ai_do_cmd(struct comedi_device * dev, struct comedi_subdevice * s);
-static int das800_ai_rinsn(struct comedi_device * dev, struct comedi_subdevice * s,
-       struct comedi_insn * insn, unsigned int * data);
-static int das800_di_rbits(struct comedi_device * dev, struct comedi_subdevice * s,
-       struct comedi_insn * insn, unsigned int * data);
-static int das800_do_wbits(struct comedi_device * dev, struct comedi_subdevice * s,
-       struct comedi_insn * insn, unsigned int * data);
-static int das800_probe(struct comedi_device * dev);
-static int das800_set_frequency(struct comedi_device * dev);
+static irqreturn_t das800_interrupt(int irq, void *d);
+static void enable_das800(struct comedi_device *dev);
+static void disable_das800(struct comedi_device *dev);
+static int das800_ai_do_cmdtest(struct comedi_device *dev, struct comedi_subdevice *s,
+       struct comedi_cmd *cmd);
+static int das800_ai_do_cmd(struct comedi_device *dev, struct comedi_subdevice *s);
+static int das800_ai_rinsn(struct comedi_device *dev, struct comedi_subdevice *s,
+       struct comedi_insn *insn, unsigned int *data);
+static int das800_di_rbits(struct comedi_device *dev, struct comedi_subdevice *s,
+       struct comedi_insn *insn, unsigned int *data);
+static int das800_do_wbits(struct comedi_device *dev, struct comedi_subdevice *s,
+       struct comedi_insn *insn, unsigned int *data);
+static int das800_probe(struct comedi_device *dev);
+static int das800_set_frequency(struct comedi_device *dev);
 
 /* checks and probes das-800 series board type */
-static int das800_probe(struct comedi_device * dev)
+static int das800_probe(struct comedi_device *dev)
 {
        int id_bits;
        unsigned long irq_flags;
        int board;
 
-       // 'comedi spin lock irqsave' disables even rt interrupts, we use them to protect indirect addressing
+       /*  'comedi spin lock irqsave' disables even rt interrupts, we use them to protect indirect addressing */
        comedi_spin_lock_irqsave(&dev->spinlock, irq_flags);
        outb(ID, dev->iobase + DAS800_GAIN);    /* select base address + 7 to be ID register */
        id_bits = inb(dev->iobase + DAS800_ID) & 0x3;   /* get id bits */
@@ -343,7 +343,7 @@ static int das800_probe(struct comedi_device * dev)
 COMEDI_INITCLEANUP(driver_das800);
 
 /* interrupt service routine */
-static irqreturn_t das800_interrupt(int irq, void *d PT_REGS_ARG)
+static irqreturn_t das800_interrupt(int irq, void *d)
 {
        short i;                /* loop index */
        short dataPoint = 0;
@@ -352,8 +352,8 @@ static irqreturn_t das800_interrupt(int irq, void *d PT_REGS_ARG)
        struct comedi_async *async;
        int status;
        unsigned long irq_flags;
-       static const int max_loops = 128;       // half-fifo size for cio-das802/16
-       // flags
+       static const int max_loops = 128;       /*  half-fifo size for cio-das802/16 */
+       /*  flags */
        int fifo_empty = 0;
        int fifo_overflow = 0;
 
@@ -369,7 +369,7 @@ static irqreturn_t das800_interrupt(int irq, void *d PT_REGS_ARG)
         */
        async = s->async;
 
-       // if hardware conversions are not enabled, then quit
+       /*  if hardware conversions are not enabled, then quit */
        comedi_spin_lock_irqsave(&dev->spinlock, irq_flags);
        outb(CONTROL1, dev->iobase + DAS800_GAIN);      /* select base address + 7 to be STATUS2 register */
        status = inb(dev->iobase + DAS800_STATUS2) & STATUS2_HCEN;
@@ -390,7 +390,7 @@ static irqreturn_t das800_interrupt(int irq, void *d PT_REGS_ARG)
                        if (fifo_overflow)
                                break;
                } else {
-                       fifo_empty = 0; // cio-das802/16 has no fifo empty status bit
+                       fifo_empty = 0; /*  cio-das802/16 has no fifo empty status bit */
                }
                if (fifo_empty) {
                        break;
@@ -410,7 +410,7 @@ static irqreturn_t das800_interrupt(int irq, void *d PT_REGS_ARG)
        /* check for fifo overflow */
        if (thisboard->resolution == 12) {
                fifo_overflow = dataPoint & FIFO_OVF;
-               // else cio-das802/16
+               /*  else cio-das802/16 */
        } else {
                fifo_overflow = inb(dev->iobase + DAS800_GAIN) & CIO_FFOV;
        }
@@ -441,7 +441,7 @@ static irqreturn_t das800_interrupt(int irq, void *d PT_REGS_ARG)
        return IRQ_HANDLED;
 }
 
-static int das800_attach(struct comedi_device * dev, struct comedi_devconfig * it)
+static int das800_attach(struct comedi_device *dev, struct comedi_devconfig *it)
 {
        struct comedi_subdevice *s;
        unsigned long iobase = it->options[0];
@@ -539,7 +539,7 @@ static int das800_attach(struct comedi_device * dev, struct comedi_devconfig * i
        return 0;
 };
 
-static int das800_detach(struct comedi_device * dev)
+static int das800_detach(struct comedi_device *dev)
 {
        printk("comedi%d: das800: remove\n", dev->minor);
 
@@ -551,7 +551,7 @@ static int das800_detach(struct comedi_device * dev)
        return 0;
 };
 
-static int das800_cancel(struct comedi_device * dev, struct comedi_subdevice * s)
+static int das800_cancel(struct comedi_device *dev, struct comedi_subdevice *s)
 {
        devpriv->forever = 0;
        devpriv->count = 0;
@@ -560,11 +560,11 @@ static int das800_cancel(struct comedi_device * dev, struct comedi_subdevice * s
 }
 
 /* enable_das800 makes the card start taking hardware triggered conversions */
-static void enable_das800(struct comedi_device * dev)
+static void enable_das800(struct comedi_device *dev)
 {
        unsigned long irq_flags;
        comedi_spin_lock_irqsave(&dev->spinlock, irq_flags);
-       // enable fifo-half full interrupts for cio-das802/16
+       /*  enable fifo-half full interrupts for cio-das802/16 */
        if (thisboard->resolution == 16)
                outb(CIO_ENHF, dev->iobase + DAS800_GAIN);
        outb(CONV_CONTROL, dev->iobase + DAS800_GAIN);  /* select dev->iobase + 2 to be conversion control register */
@@ -575,7 +575,7 @@ static void enable_das800(struct comedi_device * dev)
 }
 
 /* disable_das800 stops hardware triggered conversions */
-static void disable_das800(struct comedi_device * dev)
+static void disable_das800(struct comedi_device *dev)
 {
        unsigned long irq_flags;
        comedi_spin_lock_irqsave(&dev->spinlock, irq_flags);
@@ -584,8 +584,8 @@ static void disable_das800(struct comedi_device * dev)
        comedi_spin_unlock_irqrestore(&dev->spinlock, irq_flags);
 }
 
-static int das800_ai_do_cmdtest(struct comedi_device * dev, struct comedi_subdevice * s,
-       struct comedi_cmd * cmd)
+static int das800_ai_do_cmdtest(struct comedi_device *dev, struct comedi_subdevice *s,
+       struct comedi_cmd *cmd)
 {
        int err = 0;
        int tmp;
@@ -684,7 +684,7 @@ static int das800_ai_do_cmdtest(struct comedi_device * dev, struct comedi_subdev
        if (err)
                return 4;
 
-       // check channel/gain list against card's limitations
+       /*  check channel/gain list against card's limitations */
        if (cmd->chanlist) {
                gain = CR_RANGE(cmd->chanlist[0]);
                startChan = CR_CHAN(cmd->chanlist[0]);
@@ -709,7 +709,7 @@ static int das800_ai_do_cmdtest(struct comedi_device * dev, struct comedi_subdev
        return 0;
 }
 
-static int das800_ai_do_cmd(struct comedi_device * dev, struct comedi_subdevice * s)
+static int das800_ai_do_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
 {
        int startChan, endChan, scan, gain;
        int conv_bits;
@@ -788,8 +788,8 @@ static int das800_ai_do_cmd(struct comedi_device * dev, struct comedi_subdevice
        return 0;
 }
 
-static int das800_ai_rinsn(struct comedi_device * dev, struct comedi_subdevice * s,
-       struct comedi_insn * insn, unsigned int * data)
+static int das800_ai_rinsn(struct comedi_device *dev, struct comedi_subdevice *s,
+       struct comedi_insn *insn, unsigned int *data)
 {
        int i, n;
        int chan;
@@ -842,8 +842,8 @@ static int das800_ai_rinsn(struct comedi_device * dev, struct comedi_subdevice *
        return n;
 }
 
-static int das800_di_rbits(struct comedi_device * dev, struct comedi_subdevice * s,
-       struct comedi_insn * insn, unsigned int * data)
+static int das800_di_rbits(struct comedi_device *dev, struct comedi_subdevice *s,
+       struct comedi_insn *insn, unsigned int *data)
 {
        unsigned int bits;
 
@@ -855,13 +855,13 @@ static int das800_di_rbits(struct comedi_device * dev, struct comedi_subdevice *
        return 2;
 }
 
-static int das800_do_wbits(struct comedi_device * dev, struct comedi_subdevice * s,
-       struct comedi_insn * insn, unsigned int * data)
+static int das800_do_wbits(struct comedi_device *dev, struct comedi_subdevice *s,
+       struct comedi_insn *insn, unsigned int *data)
 {
        int wbits;
        unsigned long irq_flags;
 
-       // only set bits that have been masked
+       /*  only set bits that have been masked */
        data[0] &= 0xf;
        wbits = devpriv->do_bits >> 4;
        wbits &= ~data[0];
@@ -879,7 +879,7 @@ static int das800_do_wbits(struct comedi_device * dev, struct comedi_subdevice *
 }
 
 /* loads counters with divisor1, divisor2 from private structure */
-static int das800_set_frequency(struct comedi_device * dev)
+static int das800_set_frequency(struct comedi_device *dev)
 {
        int err = 0;