Staging: comedi: jr3_pci.c: add required includes
[safe/jmp/linux-2.6] / drivers / staging / comedi / drivers / ni_labpc.c
index e6ee7d9..30e11f4 100644 (file)
@@ -76,6 +76,7 @@ NI manuals:
 #undef LABPC_DEBUG
 /* #define LABPC_DEBUG    enable debugging messages */
 
+#include <linux/interrupt.h>
 #include "../comedidev.h"
 
 #include <linux/delay.h>
@@ -163,46 +164,46 @@ NI manuals:
 #define   INIT_A1_BITS 0x70    /*  put hardware conversion counter output in harmless state (a1 mode 0) */
 #define COUNTER_B_BASE_REG     0x18
 
-static int labpc_attach(struct comedi_device * dev, struct comedi_devconfig * it);
-static int labpc_cancel(struct comedi_device * dev, struct comedi_subdevice * s);
+static int labpc_attach(struct comedi_device *dev, struct comedi_devconfig *it);
+static int labpc_cancel(struct comedi_device *dev, struct comedi_subdevice *s);
 static irqreturn_t labpc_interrupt(int irq, void *d);
-static int labpc_drain_fifo(struct comedi_device * dev);
-static void labpc_drain_dma(struct comedi_device * dev);
-static void handle_isa_dma(struct comedi_device * dev);
-static void labpc_drain_dregs(struct comedi_device * dev);
-static int labpc_ai_cmdtest(struct comedi_device * dev, struct comedi_subdevice * s,
-       struct comedi_cmd * cmd);
-static int labpc_ai_cmd(struct comedi_device * dev, struct comedi_subdevice * s);
-static int labpc_ai_rinsn(struct comedi_device * dev, struct comedi_subdevice * s,
-       struct comedi_insn * insn, unsigned int * data);
-static int labpc_ao_winsn(struct comedi_device * dev, struct comedi_subdevice * s,
-       struct comedi_insn * insn, unsigned int * data);
-static int labpc_ao_rinsn(struct comedi_device * dev, struct comedi_subdevice * s,
-       struct comedi_insn * insn, unsigned int * data);
-static int labpc_calib_read_insn(struct comedi_device * dev, struct comedi_subdevice * s,
-       struct comedi_insn * insn, unsigned int * data);
-static int labpc_calib_write_insn(struct comedi_device * dev, struct comedi_subdevice * s,
-       struct comedi_insn * insn, unsigned int * data);
-static int labpc_eeprom_read_insn(struct comedi_device * dev, struct comedi_subdevice * s,
-       struct comedi_insn * insn, unsigned int * data);
-static int labpc_eeprom_write_insn(struct comedi_device * dev, struct comedi_subdevice * s,
-       struct comedi_insn * insn, unsigned int * data);
+static int labpc_drain_fifo(struct comedi_device *dev);
+static void labpc_drain_dma(struct comedi_device *dev);
+static void handle_isa_dma(struct comedi_device *dev);
+static void labpc_drain_dregs(struct comedi_device *dev);
+static int labpc_ai_cmdtest(struct comedi_device *dev, struct comedi_subdevice *s,
+       struct comedi_cmd *cmd);
+static int labpc_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s);
+static int labpc_ai_rinsn(struct comedi_device *dev, struct comedi_subdevice *s,
+       struct comedi_insn *insn, unsigned int *data);
+static int labpc_ao_winsn(struct comedi_device *dev, struct comedi_subdevice *s,
+       struct comedi_insn *insn, unsigned int *data);
+static int labpc_ao_rinsn(struct comedi_device *dev, struct comedi_subdevice *s,
+       struct comedi_insn *insn, unsigned int *data);
+static int labpc_calib_read_insn(struct comedi_device *dev, struct comedi_subdevice *s,
+       struct comedi_insn *insn, unsigned int *data);
+static int labpc_calib_write_insn(struct comedi_device *dev, struct comedi_subdevice *s,
+       struct comedi_insn *insn, unsigned int *data);
+static int labpc_eeprom_read_insn(struct comedi_device *dev, struct comedi_subdevice *s,
+       struct comedi_insn *insn, unsigned int *data);
+static int labpc_eeprom_write_insn(struct comedi_device *dev, struct comedi_subdevice *s,
+       struct comedi_insn *insn, unsigned int *data);
 static unsigned int labpc_suggest_transfer_size(struct comedi_cmd cmd);
-static void labpc_adc_timing(struct comedi_device * dev, struct comedi_cmd * cmd);
+static void labpc_adc_timing(struct comedi_device *dev, struct comedi_cmd *cmd);
 #ifdef CONFIG_COMEDI_PCI
 static int labpc_find_device(struct comedi_device *dev, int bus, int slot);
 #endif
 static int labpc_dio_mem_callback(int dir, int port, int data,
        unsigned long arg);
-static void labpc_serial_out(struct comedi_device * dev, unsigned int value,
+static void labpc_serial_out(struct comedi_device *dev, unsigned int value,
        unsigned int num_bits);
-static unsigned int labpc_serial_in(struct comedi_device * dev);
-static unsigned int labpc_eeprom_read(struct comedi_device * dev,
+static unsigned int labpc_serial_in(struct comedi_device *dev);
+static unsigned int labpc_eeprom_read(struct comedi_device *dev,
        unsigned int address);
-static unsigned int labpc_eeprom_read_status(struct comedi_device * dev);
-static unsigned int labpc_eeprom_write(struct comedi_device * dev,
+static unsigned int labpc_eeprom_read_status(struct comedi_device *dev);
+static unsigned int labpc_eeprom_write(struct comedi_device *dev,
        unsigned int address, unsigned int value);
-static void write_caldac(struct comedi_device * dev, unsigned int channel,
+static void write_caldac(struct comedi_device *dev, unsigned int channel,
        unsigned int value);
 
 enum scan_mode {
@@ -434,7 +435,7 @@ static struct comedi_driver driver_labpc = {
        .module = THIS_MODULE,
        .attach = labpc_attach,
        .detach = labpc_common_detach,
-       .num_names = sizeof(labpc_boards) / sizeof(struct labpc_board_struct),
+       .num_names = ARRAY_SIZE(labpc_boards),
        .board_name = &labpc_boards[0].name,
        .offset = sizeof(struct labpc_board_struct),
 };
@@ -516,7 +517,7 @@ int labpc_common_attach(struct comedi_device *dev, unsigned long iobase,
                isr_flags = 0;
                if (thisboard->bustype == pci_bustype)
                        isr_flags |= IRQF_SHARED;
-               if (comedi_request_irq(irq, labpc_interrupt, isr_flags,
+               if (request_irq(irq, labpc_interrupt, isr_flags,
                                driver_labpc.driver_name, dev)) {
                        printk("unable to allocate irq %u\n", irq);
                        return -EINVAL;
@@ -737,7 +738,7 @@ int labpc_common_detach(struct comedi_device *dev)
        if (devpriv->dma_chan)
                free_dma(devpriv->dma_chan);
        if (dev->irq)
-               comedi_free_irq(dev->irq, dev);
+               free_irq(dev->irq, dev);
        if (thisboard->bustype == isa_bustype && dev->iobase)
                release_region(dev->iobase, LABPC_SIZE);
 #ifdef CONFIG_COMEDI_PCI
@@ -759,10 +760,10 @@ static int labpc_cancel(struct comedi_device *dev, struct comedi_subdevice *s)
 {
        unsigned long flags;
 
-       comedi_spin_lock_irqsave(&dev->spinlock, flags);
+       spin_lock_irqsave(&dev->spinlock, flags);
        devpriv->command2_bits &= ~SWTRIG_BIT & ~HWTRIG_BIT & ~PRETRIG_BIT;
        devpriv->write_byte(devpriv->command2_bits, dev->iobase + COMMAND2_REG);
-       comedi_spin_unlock_irqrestore(&dev->spinlock, flags);
+       spin_unlock_irqrestore(&dev->spinlock, flags);
 
        devpriv->command3_bits = 0;
        devpriv->write_byte(devpriv->command3_bits, dev->iobase + COMMAND3_REG);
@@ -788,7 +789,7 @@ static enum scan_mode labpc_ai_scan_mode(const struct comedi_cmd *cmd)
        if (CR_CHAN(cmd->chanlist[0]) > CR_CHAN(cmd->chanlist[1]))
                return MODE_MULT_CHAN_DOWN;
 
-       rt_printk("ni_labpc: bug! this should never happen\n");
+       printk("ni_labpc: bug! this should never happen\n");
 
        return 0;
 }
@@ -844,7 +845,7 @@ static int labpc_ai_chanlist_invalid(const struct comedi_device *dev,
                        }
                        break;
                default:
-                       rt_printk("ni_labpc: bug! in chanlist check\n");
+                       printk("ni_labpc: bug! in chanlist check\n");
                        return 1;
                        break;
                }
@@ -1082,10 +1083,10 @@ static int labpc_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
        aref = CR_AREF(cmd->chanlist[0]);
 
        /*  make sure board is disabled before setting up aquisition */
-       comedi_spin_lock_irqsave(&dev->spinlock, flags);
+       spin_lock_irqsave(&dev->spinlock, flags);
        devpriv->command2_bits &= ~SWTRIG_BIT & ~HWTRIG_BIT & ~PRETRIG_BIT;
        devpriv->write_byte(devpriv->command2_bits, dev->iobase + COMMAND2_REG);
-       comedi_spin_unlock_irqrestore(&dev->spinlock, flags);
+       spin_unlock_irqrestore(&dev->spinlock, flags);
 
        devpriv->command3_bits = 0;
        devpriv->write_byte(devpriv->command3_bits, dev->iobase + COMMAND3_REG);
@@ -1174,7 +1175,7 @@ static int labpc_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
                devpriv->command1_bits |= ADC_SCAN_EN_BIT;
                /* need a brief delay before enabling scan, or scan list will get screwed when you switch
                 * between scan up to scan down mode - dunno why */
-               comedi_udelay(1);
+               udelay(1);
                devpriv->write_byte(devpriv->command1_bits,
                        dev->iobase + COMMAND1_REG);
        }
@@ -1275,7 +1276,7 @@ static int labpc_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
 
        /*  command2 reg */
        /*  use 2 cascaded counters for pacing */
-       comedi_spin_lock_irqsave(&dev->spinlock, flags);
+       spin_lock_irqsave(&dev->spinlock, flags);
        devpriv->command2_bits |= CASCADE_BIT;
        switch (cmd->start_src) {
        case TRIG_EXT:
@@ -1303,7 +1304,7 @@ static int labpc_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
                return -1;
        }
        devpriv->write_byte(devpriv->command2_bits, dev->iobase + COMMAND2_REG);
-       comedi_spin_unlock_irqrestore(&dev->spinlock, flags);
+       spin_unlock_irqrestore(&dev->spinlock, flags);
 
        return 0;
 }
@@ -1510,10 +1511,10 @@ static int labpc_ai_rinsn(struct comedi_device *dev, struct comedi_subdevice *s,
        unsigned long flags;
 
        /*  disable timed conversions */
-       comedi_spin_lock_irqsave(&dev->spinlock, flags);
+       spin_lock_irqsave(&dev->spinlock, flags);
        devpriv->command2_bits &= ~SWTRIG_BIT & ~HWTRIG_BIT & ~PRETRIG_BIT;
        devpriv->write_byte(devpriv->command2_bits, dev->iobase + COMMAND2_REG);
-       comedi_spin_unlock_irqrestore(&dev->spinlock, flags);
+       spin_unlock_irqrestore(&dev->spinlock, flags);
 
        /*  disable interrupt generation and dma */
        devpriv->command3_bits = 0;
@@ -1571,7 +1572,7 @@ static int labpc_ai_rinsn(struct comedi_device *dev, struct comedi_subdevice *s,
                        if (devpriv->read_byte(dev->iobase +
                                        STATUS1_REG) & DATA_AVAIL_BIT)
                                break;
-                       comedi_udelay(1);
+                       udelay(1);
                }
                if (i == timeout) {
                        comedi_error(dev, "timeout");
@@ -1598,10 +1599,10 @@ static int labpc_ao_winsn(struct comedi_device *dev, struct comedi_subdevice *s,
        /*  turn off pacing of analog output channel */
        /* note: hardware bug in daqcard-1200 means pacing cannot
         * be independently enabled/disabled for its the two channels */
-       comedi_spin_lock_irqsave(&dev->spinlock, flags);
+       spin_lock_irqsave(&dev->spinlock, flags);
        devpriv->command2_bits &= ~DAC_PACED_BIT(channel);
        devpriv->write_byte(devpriv->command2_bits, dev->iobase + COMMAND2_REG);
-       comedi_spin_unlock_irqrestore(&dev->spinlock, flags);
+       spin_unlock_irqrestore(&dev->spinlock, flags);
 
        /*  set range */
        if (thisboard->register_layout == labpc_1200_layout) {
@@ -1809,12 +1810,12 @@ static void labpc_serial_out(struct comedi_device *dev, unsigned int value,
                        devpriv->command5_bits |= SDATA_BIT;
                else
                        devpriv->command5_bits &= ~SDATA_BIT;
-               comedi_udelay(1);
+               udelay(1);
                devpriv->write_byte(devpriv->command5_bits,
                        dev->iobase + COMMAND5_REG);
                /*  set clock to load bit */
                devpriv->command5_bits |= SCLOCK_BIT;
-               comedi_udelay(1);
+               udelay(1);
                devpriv->write_byte(devpriv->command5_bits,
                        dev->iobase + COMMAND5_REG);
        }
@@ -1830,16 +1831,16 @@ static unsigned int labpc_serial_in(struct comedi_device *dev)
        for (i = 1; i <= value_width; i++) {
                /*  set serial clock */
                devpriv->command5_bits |= SCLOCK_BIT;
-               comedi_udelay(1);
+               udelay(1);
                devpriv->write_byte(devpriv->command5_bits,
                        dev->iobase + COMMAND5_REG);
                /*  clear clock bit */
                devpriv->command5_bits &= ~SCLOCK_BIT;
-               comedi_udelay(1);
+               udelay(1);
                devpriv->write_byte(devpriv->command5_bits,
                        dev->iobase + COMMAND5_REG);
                /*  read bits most significant bit first */
-               comedi_udelay(1);
+               udelay(1);
                devpriv->status2_bits =
                        devpriv->read_byte(dev->iobase + STATUS2_REG);
                if (devpriv->status2_bits & EEPROM_OUT_BIT) {
@@ -1858,10 +1859,10 @@ static unsigned int labpc_eeprom_read(struct comedi_device *dev, unsigned int ad
 
        /*  enable read/write to eeprom */
        devpriv->command5_bits &= ~EEPROM_EN_BIT;
-       comedi_udelay(1);
+       udelay(1);
        devpriv->write_byte(devpriv->command5_bits, dev->iobase + COMMAND5_REG);
        devpriv->command5_bits |= EEPROM_EN_BIT | EEPROM_WRITE_UNPROTECT_BIT;
-       comedi_udelay(1);
+       udelay(1);
        devpriv->write_byte(devpriv->command5_bits, dev->iobase + COMMAND5_REG);
 
        /*  send read instruction */
@@ -1873,7 +1874,7 @@ static unsigned int labpc_eeprom_read(struct comedi_device *dev, unsigned int ad
 
        /*  disable read/write to eeprom */
        devpriv->command5_bits &= ~EEPROM_EN_BIT & ~EEPROM_WRITE_UNPROTECT_BIT;
-       comedi_udelay(1);
+       udelay(1);
        devpriv->write_byte(devpriv->command5_bits, dev->iobase + COMMAND5_REG);
 
        return value;
@@ -1904,21 +1905,21 @@ static unsigned int labpc_eeprom_write(struct comedi_device *dev,
 
        /*  enable read/write to eeprom */
        devpriv->command5_bits &= ~EEPROM_EN_BIT;
-       comedi_udelay(1);
+       udelay(1);
        devpriv->write_byte(devpriv->command5_bits, dev->iobase + COMMAND5_REG);
        devpriv->command5_bits |= EEPROM_EN_BIT | EEPROM_WRITE_UNPROTECT_BIT;
-       comedi_udelay(1);
+       udelay(1);
        devpriv->write_byte(devpriv->command5_bits, dev->iobase + COMMAND5_REG);
 
        /*  send write_enable instruction */
        labpc_serial_out(dev, write_enable_instruction, write_length);
        devpriv->command5_bits &= ~EEPROM_EN_BIT;
-       comedi_udelay(1);
+       udelay(1);
        devpriv->write_byte(devpriv->command5_bits, dev->iobase + COMMAND5_REG);
 
        /*  send write instruction */
        devpriv->command5_bits |= EEPROM_EN_BIT;
-       comedi_udelay(1);
+       udelay(1);
        devpriv->write_byte(devpriv->command5_bits, dev->iobase + COMMAND5_REG);
        labpc_serial_out(dev, write_instruction, write_length);
        /*  send 8 bit address to write to */
@@ -1926,12 +1927,12 @@ static unsigned int labpc_eeprom_write(struct comedi_device *dev,
        /*  write value */
        labpc_serial_out(dev, value, write_length);
        devpriv->command5_bits &= ~EEPROM_EN_BIT;
-       comedi_udelay(1);
+       udelay(1);
        devpriv->write_byte(devpriv->command5_bits, dev->iobase + COMMAND5_REG);
 
        /*  disable read/write to eeprom */
        devpriv->command5_bits &= ~EEPROM_EN_BIT & ~EEPROM_WRITE_UNPROTECT_BIT;
-       comedi_udelay(1);
+       udelay(1);
        devpriv->write_byte(devpriv->command5_bits, dev->iobase + COMMAND5_REG);
 
        return 0;
@@ -1945,10 +1946,10 @@ static unsigned int labpc_eeprom_read_status(struct comedi_device *dev)
 
        /*  enable read/write to eeprom */
        devpriv->command5_bits &= ~EEPROM_EN_BIT;
-       comedi_udelay(1);
+       udelay(1);
        devpriv->write_byte(devpriv->command5_bits, dev->iobase + COMMAND5_REG);
        devpriv->command5_bits |= EEPROM_EN_BIT | EEPROM_WRITE_UNPROTECT_BIT;
-       comedi_udelay(1);
+       udelay(1);
        devpriv->write_byte(devpriv->command5_bits, dev->iobase + COMMAND5_REG);
 
        /*  send read status instruction */
@@ -1958,7 +1959,7 @@ static unsigned int labpc_eeprom_read_status(struct comedi_device *dev)
 
        /*  disable read/write to eeprom */
        devpriv->command5_bits &= ~EEPROM_EN_BIT & ~EEPROM_WRITE_UNPROTECT_BIT;
-       comedi_udelay(1);
+       udelay(1);
        devpriv->write_byte(devpriv->command5_bits, dev->iobase + COMMAND5_REG);
 
        return value;
@@ -1975,7 +1976,7 @@ static void write_caldac(struct comedi_device *dev, unsigned int channel,
        /*  clear caldac load bit and make sure we don't write to eeprom */
        devpriv->command5_bits &=
                ~CALDAC_LOAD_BIT & ~EEPROM_EN_BIT & ~EEPROM_WRITE_UNPROTECT_BIT;
-       comedi_udelay(1);
+       udelay(1);
        devpriv->write_byte(devpriv->command5_bits, dev->iobase + COMMAND5_REG);
 
        /*  write 4 bit channel */
@@ -1985,10 +1986,10 @@ static void write_caldac(struct comedi_device *dev, unsigned int channel,
 
        /*  set and clear caldac bit to load caldac value */
        devpriv->command5_bits |= CALDAC_LOAD_BIT;
-       comedi_udelay(1);
+       udelay(1);
        devpriv->write_byte(devpriv->command5_bits, dev->iobase + COMMAND5_REG);
        devpriv->command5_bits &= ~CALDAC_LOAD_BIT;
-       comedi_udelay(1);
+       udelay(1);
        devpriv->write_byte(devpriv->command5_bits, dev->iobase + COMMAND5_REG);
 }