mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-29 15:15:28 -04:00
staging: comedi: cb_pcidas: cleanup ai_config_insn()
Absorb the helper function ai_config_calibration_source() into ai_config_insn() and remove the static const variable that was in the helper function. Return an error code (-EINVAL) when appropriate and the number of data values used (insn->n) for success. 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>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
8f608fc8ee
commit
f3c34b2fc6
@@ -439,38 +439,28 @@ static int cb_pcidas_ai_rinsn(struct comedi_device *dev,
|
||||
return n;
|
||||
}
|
||||
|
||||
static int ai_config_calibration_source(struct comedi_device *dev,
|
||||
unsigned int *data)
|
||||
{
|
||||
struct cb_pcidas_private *devpriv = dev->private;
|
||||
static const int num_calibration_sources = 8;
|
||||
unsigned int source = data[1];
|
||||
|
||||
if (source >= num_calibration_sources) {
|
||||
dev_err(dev->class_dev, "invalid calibration source: %i\n",
|
||||
source);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
devpriv->calibration_source = source;
|
||||
|
||||
return 2;
|
||||
}
|
||||
|
||||
static int ai_config_insn(struct comedi_device *dev, struct comedi_subdevice *s,
|
||||
struct comedi_insn *insn, unsigned int *data)
|
||||
{
|
||||
struct cb_pcidas_private *devpriv = dev->private;
|
||||
int id = data[0];
|
||||
unsigned int source = data[1];
|
||||
|
||||
switch (id) {
|
||||
case INSN_CONFIG_ALT_SOURCE:
|
||||
return ai_config_calibration_source(dev, data);
|
||||
if (source >= 8) {
|
||||
dev_err(dev->class_dev,
|
||||
"invalid calibration source: %i\n",
|
||||
source);
|
||||
return -EINVAL;
|
||||
}
|
||||
devpriv->calibration_source = source;
|
||||
break;
|
||||
default:
|
||||
return -EINVAL;
|
||||
break;
|
||||
}
|
||||
return -EINVAL;
|
||||
return insn->n;
|
||||
}
|
||||
|
||||
/* analog output insn for pcidas-1000 and 1200 series */
|
||||
|
||||
Reference in New Issue
Block a user