staging: comedi: cb_das16_cs: remove incomplete async command support
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Mon, 10 Feb 2014 22:20:32 +0000 (15:20 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 14 Feb 2014 17:31:30 +0000 (09:31 -0800)
This driver has a (*do_cmdtest) function for analog input async command
support but the (*do_cmd) function just returns -EINVAL.

Remove the incomplete async command support.

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/cb_das16_cs.c

index e0ed193522e08e55b42f9202b27dafd46e824777..645fcb0cf17d48739143011db899087b64a721fe 100644 (file)
@@ -95,12 +95,6 @@ static const struct comedi_lrange das16cs_ai_range = {
        }
 };
 
-static irqreturn_t das16cs_interrupt(int irq, void *d)
-{
-       /* struct comedi_device *dev = d; */
-       return IRQ_HANDLED;
-}
-
 static int das16cs_ai_eoc(struct comedi_device *dev,
                          struct comedi_subdevice *s,
                          struct comedi_insn *insn,
@@ -161,117 +155,6 @@ static int das16cs_ai_rinsn(struct comedi_device *dev,
        return i;
 }
 
-static int das16cs_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
-{
-       return -EINVAL;
-}
-
-static int das16cs_ai_cmdtest(struct comedi_device *dev,
-                             struct comedi_subdevice *s,
-                             struct comedi_cmd *cmd)
-{
-       int err = 0;
-       int tmp;
-
-       /* Step 1 : check if triggers are trivially valid */
-
-       err |= cfc_check_trigger_src(&cmd->start_src, TRIG_NOW);
-       err |= cfc_check_trigger_src(&cmd->scan_begin_src,
-                                       TRIG_TIMER | TRIG_EXT);
-       err |= cfc_check_trigger_src(&cmd->convert_src,
-                                       TRIG_TIMER | TRIG_EXT);
-       err |= cfc_check_trigger_src(&cmd->scan_end_src, TRIG_COUNT);
-       err |= cfc_check_trigger_src(&cmd->stop_src, TRIG_COUNT | TRIG_NONE);
-
-       if (err)
-               return 1;
-
-       /* Step 2a : make sure trigger sources are unique */
-
-       err |= cfc_check_trigger_is_unique(cmd->scan_begin_src);
-       err |= cfc_check_trigger_is_unique(cmd->convert_src);
-       err |= cfc_check_trigger_is_unique(cmd->stop_src);
-
-       /* Step 2b : and mutually compatible */
-
-       if (err)
-               return 2;
-
-       /* Step 3: check if arguments are trivially valid */
-
-       err |= cfc_check_trigger_arg_is(&cmd->start_arg, 0);
-
-#define MAX_SPEED      10000   /* in nanoseconds */
-#define MIN_SPEED      1000000000      /* in nanoseconds */
-
-       if (cmd->scan_begin_src == TRIG_TIMER) {
-               err |= cfc_check_trigger_arg_min(&cmd->scan_begin_arg,
-                                                MAX_SPEED);
-               err |= cfc_check_trigger_arg_max(&cmd->scan_begin_arg,
-                                                MIN_SPEED);
-       } else {
-               /* external trigger */
-               /* should be level/edge, hi/lo specification here */
-               /* should specify multiple external triggers */
-               err |= cfc_check_trigger_arg_max(&cmd->scan_begin_arg, 9);
-       }
-       if (cmd->convert_src == TRIG_TIMER) {
-               err |= cfc_check_trigger_arg_min(&cmd->convert_arg,
-                                                MAX_SPEED);
-               err |= cfc_check_trigger_arg_max(&cmd->convert_arg,
-                                                MIN_SPEED);
-       } else {
-               /* external trigger */
-               /* see above */
-               err |= cfc_check_trigger_arg_max(&cmd->convert_arg, 9);
-       }
-
-       err |= cfc_check_trigger_arg_is(&cmd->scan_end_arg, cmd->chanlist_len);
-
-       if (cmd->stop_src == TRIG_COUNT)
-               err |= cfc_check_trigger_arg_max(&cmd->stop_arg, 0x00ffffff);
-       else    /* TRIG_NONE */
-               err |= cfc_check_trigger_arg_is(&cmd->stop_arg, 0);
-
-       if (err)
-               return 3;
-
-       /* step 4: fix up any arguments */
-
-       if (cmd->scan_begin_src == TRIG_TIMER) {
-               unsigned int div1 = 0, div2 = 0;
-
-               tmp = cmd->scan_begin_arg;
-               i8253_cascade_ns_to_timer(I8254_OSC_BASE_10MHZ,
-                                         &div1, &div2,
-                                         &cmd->scan_begin_arg, cmd->flags);
-               if (tmp != cmd->scan_begin_arg)
-                       err++;
-       }
-       if (cmd->convert_src == TRIG_TIMER) {
-               unsigned int div1 = 0, div2 = 0;
-
-               tmp = cmd->convert_arg;
-               i8253_cascade_ns_to_timer(I8254_OSC_BASE_10MHZ,
-                                         &div1, &div2,
-                                         &cmd->scan_begin_arg, cmd->flags);
-               if (tmp != cmd->convert_arg)
-                       err++;
-               if (cmd->scan_begin_src == TRIG_TIMER &&
-                   cmd->scan_begin_arg <
-                   cmd->convert_arg * cmd->scan_end_arg) {
-                       cmd->scan_begin_arg =
-                           cmd->convert_arg * cmd->scan_end_arg;
-                       err++;
-               }
-       }
-
-       if (err)
-               return 4;
-
-       return 0;
-}
-
 static int das16cs_ao_winsn(struct comedi_device *dev,
                            struct comedi_subdevice *s,
                            struct comedi_insn *insn, unsigned int *data)
@@ -409,10 +292,6 @@ static int das16cs_auto_attach(struct comedi_device *dev,
        dev->iobase = link->resource[0]->start;
 
        link->priv = dev;
-       ret = pcmcia_request_irq(link, das16cs_interrupt);
-       if (ret)
-               return ret;
-       dev->irq = link->irq;
 
        devpriv = comedi_alloc_devpriv(dev, sizeof(*devpriv));
        if (!devpriv)
@@ -423,7 +302,6 @@ static int das16cs_auto_attach(struct comedi_device *dev,
                return ret;
 
        s = &dev->subdevices[0];
-       dev->read_subdev = s;
        /* analog input subdevice */
        s->type         = COMEDI_SUBD_AI;
        s->subdev_flags = SDF_READABLE | SDF_GROUND | SDF_DIFF | SDF_CMD_READ;
@@ -432,8 +310,6 @@ static int das16cs_auto_attach(struct comedi_device *dev,
        s->range_table  = &das16cs_ai_range;
        s->len_chanlist = 16;
        s->insn_read    = das16cs_ai_rinsn;
-       s->do_cmd       = das16cs_ai_cmd;
-       s->do_cmdtest   = das16cs_ai_cmdtest;
 
        s = &dev->subdevices[1];
        /* analog output subdevice */