From: H Hartley Sweeten Date: Wed, 12 Aug 2015 20:25:40 +0000 (-0700) Subject: staging: comedi: hwdrv_apci3501: refactor apci3501_read_insn_timer() X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=f7f909e09fd0cc22499913933c9caee3000423e3;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git staging: comedi: hwdrv_apci3501: refactor apci3501_read_insn_timer() The handling of the ADDIDATA_WATCHDOG and ADDIDATA_TIMER is identical. Refactor this function to use a common code path for both timer modes. Remove the incorrect dev_err() noise. The subdevice is valid but the timer_mode is not supported. Signed-off-by: H Hartley Sweeten Reviewed-by: Ian Abbott Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/comedi/drivers/addi-data/hwdrv_apci3501.c b/drivers/staging/comedi/drivers/addi-data/hwdrv_apci3501.c index 6d0cf6dbca49..4828c7370e6b 100644 --- a/drivers/staging/comedi/drivers/addi-data/hwdrv_apci3501.c +++ b/drivers/staging/comedi/drivers/addi-data/hwdrv_apci3501.c @@ -133,19 +133,12 @@ static int apci3501_read_insn_timer(struct comedi_device *dev, { struct apci3501_private *devpriv = dev->private; - if (devpriv->timer_mode == ADDIDATA_WATCHDOG) { - data[0] = inl(dev->iobase + APCI3501_TIMER_STATUS_REG) & 0x1; - data[1] = inl(dev->iobase + APCI3501_TIMER_SYNC_REG); - } + if (devpriv->timer_mode != ADDIDATA_TIMER && + devpriv->timer_mode != ADDIDATA_WATCHDOG) + return -EINVAL; - else if (devpriv->timer_mode == ADDIDATA_TIMER) { - data[0] = inl(dev->iobase + APCI3501_TIMER_STATUS_REG) & 0x1; - data[1] = inl(dev->iobase + APCI3501_TIMER_SYNC_REG); - } + data[0] = inl(dev->iobase + APCI3501_TIMER_STATUS_REG) & 0x1; + data[1] = inl(dev->iobase + APCI3501_TIMER_SYNC_REG); - else if (devpriv->timer_mode != ADDIDATA_TIMER && - devpriv->timer_mode != ADDIDATA_WATCHDOG) { - dev_err(dev->class_dev, "Invalid subdevice.\n"); - } return insn->n; }