]> Pileus Git - ~andy/linux/commitdiff
staging: comedi: addi-data: remove special handling for apci1710
authorH Hartley Sweeten <hartleys@visionengravers.com>
Thu, 1 Nov 2012 18:08:56 +0000 (11:08 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 1 Nov 2012 19:34:25 +0000 (12:34 -0700)
Now that the addi_apci_1710 driver is not using addi_common.c we can
remove the CONFIG_APCI_1710 define and all the special handling for
the initialization of it's subdevices.

Also remove the i_ADDIDATA_InsnReadEeprom() function from the
addi_apci_1710 driver. This board does not have an eeprom subdevice
and does not use this function.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/addi-data/addi_common.c
drivers/staging/comedi/drivers/addi_apci_1710.c

index b533c23ca247bb2c31c1c000c096e8fdf31127ba..75f3dbdbed665006587d53142418b9f8af55d18f 100644 (file)
@@ -212,158 +212,149 @@ static int addi_attach_pci(struct comedi_device *dev,
                }
        }
 
-       if (!strcmp(dev->board_name, "apci1710")) {
-#ifdef CONFIG_APCI_1710
-               i_ADDI_AttachPCI1710(dev);
+       n_subdevices = 7;
+       ret = comedi_alloc_subdevices(dev, n_subdevices);
+       if (ret)
+               return ret;
 
-               /*  save base address */
-               devpriv->s_BoardInfos.ui_Address = pci_resource_start(pcidev, 2);
-#endif
-       } else {
-               n_subdevices = 7;
-               ret = comedi_alloc_subdevices(dev, n_subdevices);
-               if (ret)
-                       return ret;
-
-               /*  Allocate and Initialise AI Subdevice Structures */
-               s = &dev->subdevices[0];
-               if ((devpriv->s_EeParameters.i_NbrAiChannel)
-                       || (this_board->i_NbrAiChannelDiff)) {
-                       dev->read_subdev = s;
-                       s->type = COMEDI_SUBD_AI;
-                       s->subdev_flags =
-                               SDF_READABLE | SDF_COMMON | SDF_GROUND
-                               | SDF_DIFF;
-                       if (devpriv->s_EeParameters.i_NbrAiChannel) {
-                               s->n_chan =
-                                       devpriv->s_EeParameters.i_NbrAiChannel;
-                               devpriv->b_SingelDiff = 0;
-                       } else {
-                               s->n_chan = this_board->i_NbrAiChannelDiff;
-                               devpriv->b_SingelDiff = 1;
-                       }
-                       s->maxdata = devpriv->s_EeParameters.i_AiMaxdata;
-                       s->len_chanlist = this_board->i_AiChannelList;
-                       s->range_table = this_board->pr_AiRangelist;
+       /*  Allocate and Initialise AI Subdevice Structures */
+       s = &dev->subdevices[0];
+       if ((devpriv->s_EeParameters.i_NbrAiChannel)
+               || (this_board->i_NbrAiChannelDiff)) {
+               dev->read_subdev = s;
+               s->type = COMEDI_SUBD_AI;
+               s->subdev_flags =
+                       SDF_READABLE | SDF_COMMON | SDF_GROUND
+                       | SDF_DIFF;
+               if (devpriv->s_EeParameters.i_NbrAiChannel) {
+                       s->n_chan =
+                               devpriv->s_EeParameters.i_NbrAiChannel;
+                       devpriv->b_SingelDiff = 0;
+               } else {
+                       s->n_chan = this_board->i_NbrAiChannelDiff;
+                       devpriv->b_SingelDiff = 1;
+               }
+               s->maxdata = devpriv->s_EeParameters.i_AiMaxdata;
+               s->len_chanlist = this_board->i_AiChannelList;
+               s->range_table = this_board->pr_AiRangelist;
 
-                       /* Set the initialisation flag */
-                       devpriv->b_AiInitialisation = 1;
+               /* Set the initialisation flag */
+               devpriv->b_AiInitialisation = 1;
 
-                       s->insn_config = this_board->ai_config;
-                       s->insn_read = this_board->ai_read;
-                       s->insn_write = this_board->ai_write;
-                       s->insn_bits = this_board->ai_bits;
-                       s->do_cmdtest = this_board->ai_cmdtest;
-                       s->do_cmd = this_board->ai_cmd;
-                       s->cancel = this_board->ai_cancel;
+               s->insn_config = this_board->ai_config;
+               s->insn_read = this_board->ai_read;
+               s->insn_write = this_board->ai_write;
+               s->insn_bits = this_board->ai_bits;
+               s->do_cmdtest = this_board->ai_cmdtest;
+               s->do_cmd = this_board->ai_cmd;
+               s->cancel = this_board->ai_cancel;
 
-               } else {
-                       s->type = COMEDI_SUBD_UNUSED;
-               }
+       } else {
+               s->type = COMEDI_SUBD_UNUSED;
+       }
 
-               /*  Allocate and Initialise AO Subdevice Structures */
-               s = &dev->subdevices[1];
-               if (devpriv->s_EeParameters.i_NbrAoChannel) {
-                       s->type = COMEDI_SUBD_AO;
-                       s->subdev_flags = SDF_WRITEABLE | SDF_GROUND | SDF_COMMON;
-                       s->n_chan = devpriv->s_EeParameters.i_NbrAoChannel;
-                       s->maxdata = devpriv->s_EeParameters.i_AoMaxdata;
-                       s->len_chanlist =
-                               devpriv->s_EeParameters.i_NbrAoChannel;
-                       s->range_table = this_board->pr_AoRangelist;
-                       s->insn_config = this_board->ao_config;
-                       s->insn_write = this_board->ao_write;
-               } else {
-                       s->type = COMEDI_SUBD_UNUSED;
-               }
-               /*  Allocate and Initialise DI Subdevice Structures */
-               s = &dev->subdevices[2];
-               if (devpriv->s_EeParameters.i_NbrDiChannel) {
-                       s->type = COMEDI_SUBD_DI;
-                       s->subdev_flags = SDF_READABLE | SDF_GROUND | SDF_COMMON;
-                       s->n_chan = devpriv->s_EeParameters.i_NbrDiChannel;
-                       s->maxdata = 1;
-                       s->len_chanlist =
-                               devpriv->s_EeParameters.i_NbrDiChannel;
-                       s->range_table = &range_digital;
-                       s->io_bits = 0; /* all bits input */
-                       s->insn_config = this_board->di_config;
-                       s->insn_read = this_board->di_read;
-                       s->insn_write = this_board->di_write;
-                       s->insn_bits = this_board->di_bits;
-               } else {
-                       s->type = COMEDI_SUBD_UNUSED;
-               }
-               /*  Allocate and Initialise DO Subdevice Structures */
-               s = &dev->subdevices[3];
-               if (devpriv->s_EeParameters.i_NbrDoChannel) {
-                       s->type = COMEDI_SUBD_DO;
-                       s->subdev_flags =
-                               SDF_READABLE | SDF_WRITEABLE | SDF_GROUND | SDF_COMMON;
-                       s->n_chan = devpriv->s_EeParameters.i_NbrDoChannel;
-                       s->maxdata = devpriv->s_EeParameters.i_DoMaxdata;
-                       s->len_chanlist =
-                               devpriv->s_EeParameters.i_NbrDoChannel;
-                       s->range_table = &range_digital;
-                       s->io_bits = 0xf;       /* all bits output */
-
-                       /* insn_config - for digital output memory */
-                       s->insn_config = this_board->do_config;
-                       s->insn_write = this_board->do_write;
-                       s->insn_bits = this_board->do_bits;
-                       s->insn_read = this_board->do_read;
-               } else {
-                       s->type = COMEDI_SUBD_UNUSED;
-               }
+       /*  Allocate and Initialise AO Subdevice Structures */
+       s = &dev->subdevices[1];
+       if (devpriv->s_EeParameters.i_NbrAoChannel) {
+               s->type = COMEDI_SUBD_AO;
+               s->subdev_flags = SDF_WRITEABLE | SDF_GROUND | SDF_COMMON;
+               s->n_chan = devpriv->s_EeParameters.i_NbrAoChannel;
+               s->maxdata = devpriv->s_EeParameters.i_AoMaxdata;
+               s->len_chanlist =
+                       devpriv->s_EeParameters.i_NbrAoChannel;
+               s->range_table = this_board->pr_AoRangelist;
+               s->insn_config = this_board->ao_config;
+               s->insn_write = this_board->ao_write;
+       } else {
+               s->type = COMEDI_SUBD_UNUSED;
+       }
+       /*  Allocate and Initialise DI Subdevice Structures */
+       s = &dev->subdevices[2];
+       if (devpriv->s_EeParameters.i_NbrDiChannel) {
+               s->type = COMEDI_SUBD_DI;
+               s->subdev_flags = SDF_READABLE | SDF_GROUND | SDF_COMMON;
+               s->n_chan = devpriv->s_EeParameters.i_NbrDiChannel;
+               s->maxdata = 1;
+               s->len_chanlist =
+                       devpriv->s_EeParameters.i_NbrDiChannel;
+               s->range_table = &range_digital;
+               s->io_bits = 0; /* all bits input */
+               s->insn_config = this_board->di_config;
+               s->insn_read = this_board->di_read;
+               s->insn_write = this_board->di_write;
+               s->insn_bits = this_board->di_bits;
+       } else {
+               s->type = COMEDI_SUBD_UNUSED;
+       }
+       /*  Allocate and Initialise DO Subdevice Structures */
+       s = &dev->subdevices[3];
+       if (devpriv->s_EeParameters.i_NbrDoChannel) {
+               s->type = COMEDI_SUBD_DO;
+               s->subdev_flags =
+                       SDF_READABLE | SDF_WRITEABLE | SDF_GROUND | SDF_COMMON;
+               s->n_chan = devpriv->s_EeParameters.i_NbrDoChannel;
+               s->maxdata = devpriv->s_EeParameters.i_DoMaxdata;
+               s->len_chanlist =
+                       devpriv->s_EeParameters.i_NbrDoChannel;
+               s->range_table = &range_digital;
+               s->io_bits = 0xf;       /* all bits output */
+
+               /* insn_config - for digital output memory */
+               s->insn_config = this_board->do_config;
+               s->insn_write = this_board->do_write;
+               s->insn_bits = this_board->do_bits;
+               s->insn_read = this_board->do_read;
+       } else {
+               s->type = COMEDI_SUBD_UNUSED;
+       }
 
-               /*  Allocate and Initialise Timer Subdevice Structures */
-               s = &dev->subdevices[4];
-               if (devpriv->s_EeParameters.i_Timer) {
-                       s->type = COMEDI_SUBD_TIMER;
-                       s->subdev_flags = SDF_WRITEABLE | SDF_GROUND | SDF_COMMON;
-                       s->n_chan = 1;
-                       s->maxdata = 0;
-                       s->len_chanlist = 1;
-                       s->range_table = &range_digital;
-
-                       s->insn_write = this_board->timer_write;
-                       s->insn_read = this_board->timer_read;
-                       s->insn_config = this_board->timer_config;
-                       s->insn_bits = this_board->timer_bits;
-               } else {
-                       s->type = COMEDI_SUBD_UNUSED;
-               }
+       /*  Allocate and Initialise Timer Subdevice Structures */
+       s = &dev->subdevices[4];
+       if (devpriv->s_EeParameters.i_Timer) {
+               s->type = COMEDI_SUBD_TIMER;
+               s->subdev_flags = SDF_WRITEABLE | SDF_GROUND | SDF_COMMON;
+               s->n_chan = 1;
+               s->maxdata = 0;
+               s->len_chanlist = 1;
+               s->range_table = &range_digital;
+
+               s->insn_write = this_board->timer_write;
+               s->insn_read = this_board->timer_read;
+               s->insn_config = this_board->timer_config;
+               s->insn_bits = this_board->timer_bits;
+       } else {
+               s->type = COMEDI_SUBD_UNUSED;
+       }
 
-               /*  Allocate and Initialise TTL */
-               s = &dev->subdevices[5];
-               if (this_board->i_NbrTTLChannel) {
-                       s->type = COMEDI_SUBD_TTLIO;
-                       s->subdev_flags =
-                               SDF_WRITEABLE | SDF_READABLE | SDF_GROUND | SDF_COMMON;
-                       s->n_chan = this_board->i_NbrTTLChannel;
-                       s->maxdata = 1;
-                       s->io_bits = 0; /* all bits input */
-                       s->len_chanlist = this_board->i_NbrTTLChannel;
-                       s->range_table = &range_digital;
-                       s->insn_config = this_board->ttl_config;
-                       s->insn_bits = this_board->ttl_bits;
-                       s->insn_read = this_board->ttl_read;
-                       s->insn_write = this_board->ttl_write;
-               } else {
-                       s->type = COMEDI_SUBD_UNUSED;
-               }
+       /*  Allocate and Initialise TTL */
+       s = &dev->subdevices[5];
+       if (this_board->i_NbrTTLChannel) {
+               s->type = COMEDI_SUBD_TTLIO;
+               s->subdev_flags =
+                       SDF_WRITEABLE | SDF_READABLE | SDF_GROUND | SDF_COMMON;
+               s->n_chan = this_board->i_NbrTTLChannel;
+               s->maxdata = 1;
+               s->io_bits = 0; /* all bits input */
+               s->len_chanlist = this_board->i_NbrTTLChannel;
+               s->range_table = &range_digital;
+               s->insn_config = this_board->ttl_config;
+               s->insn_bits = this_board->ttl_bits;
+               s->insn_read = this_board->ttl_read;
+               s->insn_write = this_board->ttl_write;
+       } else {
+               s->type = COMEDI_SUBD_UNUSED;
+       }
 
-               /* EEPROM */
-               s = &dev->subdevices[6];
-               if (this_board->i_PCIEeprom) {
-                       s->type = COMEDI_SUBD_MEMORY;
-                       s->subdev_flags = SDF_READABLE | SDF_INTERNAL;
-                       s->n_chan = 256;
-                       s->maxdata = 0xffff;
-                       s->insn_read = i_ADDIDATA_InsnReadEeprom;
-               } else {
-                       s->type = COMEDI_SUBD_UNUSED;
-               }
+       /* EEPROM */
+       s = &dev->subdevices[6];
+       if (this_board->i_PCIEeprom) {
+               s->type = COMEDI_SUBD_MEMORY;
+               s->subdev_flags = SDF_READABLE | SDF_INTERNAL;
+               s->n_chan = 256;
+               s->maxdata = 0xffff;
+               s->insn_read = i_ADDIDATA_InsnReadEeprom;
+       } else {
+               s->type = COMEDI_SUBD_UNUSED;
        }
 
        i_ADDI_Reset(dev);
index 36dde3a4b1914ab16219674a4e80b6353483a728..ed5c714129394c133ae441f84dff42cebb572081 100644 (file)
@@ -16,8 +16,6 @@ static void fpu_end(void)
        kernel_fpu_end();
 }
 
-#define CONFIG_APCI_1710 1
-
 #include "addi-data/addi_eeprom.c"
 #include "addi-data/hwdrv_APCI1710.c"
 
@@ -39,23 +37,6 @@ static const struct addi_board apci1710_boardtypes[] = {
        },
 };
 
-static int i_ADDIDATA_InsnReadEeprom(struct comedi_device *dev,
-                                    struct comedi_subdevice *s,
-                                    struct comedi_insn *insn,
-                                    unsigned int *data)
-{
-       const struct addi_board *this_board = comedi_board(dev);
-       struct addi_private *devpriv = dev->private;
-       unsigned short w_Address = CR_CHAN(insn->chanspec);
-       unsigned short w_Data;
-
-       w_Data = addi_eeprom_readw(devpriv->i_IobaseAmcc,
-               this_board->pc_EepromChip, 2 * w_Address);
-       data[0] = w_Data;
-
-       return insn->n;
-}
-
 static irqreturn_t v_ADDI_Interrupt(int irq, void *d)
 {
        struct comedi_device *dev = d;
@@ -209,159 +190,9 @@ static int apci1710_attach_pci(struct comedi_device *dev,
                }
        }
 
-       if (!strcmp(dev->board_name, "apci1710")) {
-#ifdef CONFIG_APCI_1710
-               i_ADDI_AttachPCI1710(dev);
-
-               /*  save base address */
-               devpriv->s_BoardInfos.ui_Address = pci_resource_start(pcidev, 2);
-#endif
-       } else {
-               n_subdevices = 7;
-               ret = comedi_alloc_subdevices(dev, n_subdevices);
-               if (ret)
-                       return ret;
-
-               /*  Allocate and Initialise AI Subdevice Structures */
-               s = &dev->subdevices[0];
-               if ((devpriv->s_EeParameters.i_NbrAiChannel)
-                       || (this_board->i_NbrAiChannelDiff)) {
-                       dev->read_subdev = s;
-                       s->type = COMEDI_SUBD_AI;
-                       s->subdev_flags =
-                               SDF_READABLE | SDF_COMMON | SDF_GROUND
-                               | SDF_DIFF;
-                       if (devpriv->s_EeParameters.i_NbrAiChannel) {
-                               s->n_chan =
-                                       devpriv->s_EeParameters.i_NbrAiChannel;
-                               devpriv->b_SingelDiff = 0;
-                       } else {
-                               s->n_chan = this_board->i_NbrAiChannelDiff;
-                               devpriv->b_SingelDiff = 1;
-                       }
-                       s->maxdata = devpriv->s_EeParameters.i_AiMaxdata;
-                       s->len_chanlist = this_board->i_AiChannelList;
-                       s->range_table = this_board->pr_AiRangelist;
-
-                       /* Set the initialisation flag */
-                       devpriv->b_AiInitialisation = 1;
-
-                       s->insn_config = this_board->ai_config;
-                       s->insn_read = this_board->ai_read;
-                       s->insn_write = this_board->ai_write;
-                       s->insn_bits = this_board->ai_bits;
-                       s->do_cmdtest = this_board->ai_cmdtest;
-                       s->do_cmd = this_board->ai_cmd;
-                       s->cancel = this_board->ai_cancel;
-
-               } else {
-                       s->type = COMEDI_SUBD_UNUSED;
-               }
-
-               /*  Allocate and Initialise AO Subdevice Structures */
-               s = &dev->subdevices[1];
-               if (devpriv->s_EeParameters.i_NbrAoChannel) {
-                       s->type = COMEDI_SUBD_AO;
-                       s->subdev_flags = SDF_WRITEABLE | SDF_GROUND | SDF_COMMON;
-                       s->n_chan = devpriv->s_EeParameters.i_NbrAoChannel;
-                       s->maxdata = devpriv->s_EeParameters.i_AoMaxdata;
-                       s->len_chanlist =
-                               devpriv->s_EeParameters.i_NbrAoChannel;
-                       s->range_table = this_board->pr_AoRangelist;
-                       s->insn_config = this_board->ao_config;
-                       s->insn_write = this_board->ao_write;
-               } else {
-                       s->type = COMEDI_SUBD_UNUSED;
-               }
-               /*  Allocate and Initialise DI Subdevice Structures */
-               s = &dev->subdevices[2];
-               if (devpriv->s_EeParameters.i_NbrDiChannel) {
-                       s->type = COMEDI_SUBD_DI;
-                       s->subdev_flags = SDF_READABLE | SDF_GROUND | SDF_COMMON;
-                       s->n_chan = devpriv->s_EeParameters.i_NbrDiChannel;
-                       s->maxdata = 1;
-                       s->len_chanlist =
-                               devpriv->s_EeParameters.i_NbrDiChannel;
-                       s->range_table = &range_digital;
-                       s->io_bits = 0; /* all bits input */
-                       s->insn_config = this_board->di_config;
-                       s->insn_read = this_board->di_read;
-                       s->insn_write = this_board->di_write;
-                       s->insn_bits = this_board->di_bits;
-               } else {
-                       s->type = COMEDI_SUBD_UNUSED;
-               }
-               /*  Allocate and Initialise DO Subdevice Structures */
-               s = &dev->subdevices[3];
-               if (devpriv->s_EeParameters.i_NbrDoChannel) {
-                       s->type = COMEDI_SUBD_DO;
-                       s->subdev_flags =
-                               SDF_READABLE | SDF_WRITEABLE | SDF_GROUND | SDF_COMMON;
-                       s->n_chan = devpriv->s_EeParameters.i_NbrDoChannel;
-                       s->maxdata = devpriv->s_EeParameters.i_DoMaxdata;
-                       s->len_chanlist =
-                               devpriv->s_EeParameters.i_NbrDoChannel;
-                       s->range_table = &range_digital;
-                       s->io_bits = 0xf;       /* all bits output */
-
-                       /* insn_config - for digital output memory */
-                       s->insn_config = this_board->do_config;
-                       s->insn_write = this_board->do_write;
-                       s->insn_bits = this_board->do_bits;
-                       s->insn_read = this_board->do_read;
-               } else {
-                       s->type = COMEDI_SUBD_UNUSED;
-               }
+       i_ADDI_AttachPCI1710(dev);
 
-               /*  Allocate and Initialise Timer Subdevice Structures */
-               s = &dev->subdevices[4];
-               if (devpriv->s_EeParameters.i_Timer) {
-                       s->type = COMEDI_SUBD_TIMER;
-                       s->subdev_flags = SDF_WRITEABLE | SDF_GROUND | SDF_COMMON;
-                       s->n_chan = 1;
-                       s->maxdata = 0;
-                       s->len_chanlist = 1;
-                       s->range_table = &range_digital;
-
-                       s->insn_write = this_board->timer_write;
-                       s->insn_read = this_board->timer_read;
-                       s->insn_config = this_board->timer_config;
-                       s->insn_bits = this_board->timer_bits;
-               } else {
-                       s->type = COMEDI_SUBD_UNUSED;
-               }
-
-               /*  Allocate and Initialise TTL */
-               s = &dev->subdevices[5];
-               if (this_board->i_NbrTTLChannel) {
-                       s->type = COMEDI_SUBD_TTLIO;
-                       s->subdev_flags =
-                               SDF_WRITEABLE | SDF_READABLE | SDF_GROUND | SDF_COMMON;
-                       s->n_chan = this_board->i_NbrTTLChannel;
-                       s->maxdata = 1;
-                       s->io_bits = 0; /* all bits input */
-                       s->len_chanlist = this_board->i_NbrTTLChannel;
-                       s->range_table = &range_digital;
-                       s->insn_config = this_board->ttl_config;
-                       s->insn_bits = this_board->ttl_bits;
-                       s->insn_read = this_board->ttl_read;
-                       s->insn_write = this_board->ttl_write;
-               } else {
-                       s->type = COMEDI_SUBD_UNUSED;
-               }
-
-               /* EEPROM */
-               s = &dev->subdevices[6];
-               if (this_board->i_PCIEeprom) {
-                       s->type = COMEDI_SUBD_MEMORY;
-                       s->subdev_flags = SDF_READABLE | SDF_INTERNAL;
-                       s->n_chan = 256;
-                       s->maxdata = 0xffff;
-                       s->insn_read = i_ADDIDATA_InsnReadEeprom;
-               } else {
-                       s->type = COMEDI_SUBD_UNUSED;
-               }
-       }
+       devpriv->s_BoardInfos.ui_Address = pci_resource_start(pcidev, 2);
 
        i_ADDI_Reset(dev);
        return 0;