From: H Hartley Sweeten Date: Fri, 22 Mar 2013 22:55:07 +0000 (-0700) Subject: staging: comedi: s626: cleanup "subdevice" and "cmd" in s626_irq_handler() X-Git-Tag: v3.12-rc1~1000^2~436 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=abafc9e851c2319be0f3244af944cc0fa0dd4d6d;p=kernel%2Fkernel-generic.git staging: comedi: s626: cleanup "subdevice" and "cmd" in s626_irq_handler() The comedi_subdevice in this function is actually the dev->read_subdev that was initialized during the attach of the board. Use that instead of accessing the dev->subdevices array directly. Also, get the comedi_cmd used in s626_irq_handler() when the function is first entered. Signed-off-by: H Hartley Sweeten Cc: Ian Abbott Cc: Greg Kroah-Hartman Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/comedi/drivers/s626.c b/drivers/staging/comedi/drivers/s626.c index ec14667..b655437 100644 --- a/drivers/staging/comedi/drivers/s626.c +++ b/drivers/staging/comedi/drivers/s626.c @@ -731,8 +731,8 @@ static irqreturn_t s626_irq_handler(int irq, void *d) { struct comedi_device *dev = d; struct s626_private *devpriv = dev->private; - struct comedi_subdevice *s; - struct comedi_cmd *cmd; + struct comedi_subdevice *s = dev->read_subdev; + struct comedi_cmd *cmd = &s->async->cmd; struct enc_private *k; unsigned long flags; int32_t *readaddr; @@ -760,10 +760,6 @@ static irqreturn_t s626_irq_handler(int irq, void *d) switch (irqtype) { case IRQ_RPS1: /* end_of_scan occurs */ - /* manage ai subdevice */ - s = dev->subdevices; - cmd = &(s->async->cmd); - /* Init ptr to DMA buffer that holds new ADC data. We skip the * first uint16_t in the buffer because it contains junk data from * the final ADC of the previous poll list scan. @@ -808,10 +804,6 @@ static irqreturn_t s626_irq_handler(int irq, void *d) comedi_event(dev, s); break; case IRQ_GPIO3: /* check dio and conter interrupt */ - /* manage ai subdevice */ - s = dev->subdevices; - cmd = &(s->async->cmd); - /* s626_dio_clear_irq(dev); */ check_dio_interrupts(dev);