From 2a420f408aa73759b61446503adbd83c88e33966 Mon Sep 17 00:00:00 2001 From: H Hartley Sweeten Date: Mon, 20 Oct 2014 11:34:25 -0700 Subject: [PATCH] staging: comedi: addi_apci_3120: tidy up analog input subdevice init For aesthetics, add some white space to the analog input subdevice initialization. The async command support in this driver is pretty messed up. I'm not really sure if it actually works yet. Luckly this driver was not setting the SDF_CMD_READ subdev_flag so the command support was not actually getting enabled. The command support only works if an interrupt is available. Refactor the subdevice init so that the command support is only hooked up if we have an interrupt. For now always disable the command support. Once the driver has been cleaned up the command will be enabled. Signed-off-by: H Hartley Sweeten Reviewed-by: Ian Abbott Signed-off-by: Greg Kroah-Hartman --- drivers/staging/comedi/drivers/addi_apci_3120.c | 32 ++++++++++++------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/drivers/staging/comedi/drivers/addi_apci_3120.c b/drivers/staging/comedi/drivers/addi_apci_3120.c index 358bfd3..cc56178 100644 --- a/drivers/staging/comedi/drivers/addi_apci_3120.c +++ b/drivers/staging/comedi/drivers/addi_apci_3120.c @@ -168,23 +168,23 @@ static int apci3120_auto_attach(struct comedi_device *dev, if (ret) return ret; - /* Allocate and Initialise AI Subdevice Structures */ + /* Analog Input subdevice */ s = &dev->subdevices[0]; - dev->read_subdev = s; - s->type = COMEDI_SUBD_AI; - s->subdev_flags = - SDF_READABLE | SDF_COMMON | SDF_GROUND - | SDF_DIFF; - s->n_chan = 16; - s->maxdata = this_board->ai_is_16bit ? 0xffff : 0x0fff; - s->len_chanlist = s->n_chan; - s->range_table = &range_apci3120_ai; - - s->insn_config = apci3120_ai_insn_config; - s->insn_read = apci3120_ai_insn_read; - s->do_cmdtest = apci3120_ai_cmdtest; - s->do_cmd = apci3120_ai_cmd; - s->cancel = apci3120_cancel; + s->type = COMEDI_SUBD_AI; + s->subdev_flags = SDF_READABLE | SDF_COMMON | SDF_GROUND | SDF_DIFF; + s->n_chan = 16; + s->maxdata = this_board->ai_is_16bit ? 0xffff : 0x0fff; + s->range_table = &range_apci3120_ai; + s->insn_config = apci3120_ai_insn_config; + s->insn_read = apci3120_ai_insn_read; + if (0 /* dev->irq */) { + dev->read_subdev = s; + s->subdev_flags |= SDF_CMD_READ; + s->len_chanlist = s->n_chan; + s->do_cmdtest = apci3120_ai_cmdtest; + s->do_cmd = apci3120_ai_cmd; + s->cancel = apci3120_cancel; + } /* Analog Output subdevice */ s = &dev->subdevices[1]; -- 2.7.4