Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6db70e39 authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman
Browse files

staging: comedi: aio_aio12_8: refactor boardininfo



This driver supports three board types with these differences:
  104-AIO12-8 - eight 12-bit analog in, four 12-bit analog out
  104-AI12-8  - eight 12-bit analog in
  104-AO12-4  - four 12-bit analog out

Convert the boardinfo 'ai_nchan' and 'ao_nchan' into bit-field
flags 'has_ai' and 'has_ao' so save a bit of space.

Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: default avatarIan Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent ee4c7709
Loading
Loading
Loading
Loading
+11 −11
Original line number Diff line number Diff line
@@ -87,21 +87,21 @@ static const struct comedi_lrange aio_aio12_8_range = {

struct aio12_8_boardtype {
	const char *name;
	int ai_nchan;
	int ao_nchan;
	unsigned int has_ai:1;
	unsigned int has_ao:1;
};

static const struct aio12_8_boardtype board_types[] = {
	{
		.name		= "aio_aio12_8",
		.ai_nchan	= 8,
		.ao_nchan	= 4,
		.has_ai		= 1,
		.has_ao		= 1,
	}, {
		.name		= "aio_ai12_8",
		.ai_nchan	= 8,
		.has_ai		= 1,
	}, {
		.name		= "aio_ao12_8",
		.ao_nchan	= 4,
		.has_ao		= 1,
	},
};

@@ -225,12 +225,12 @@ static int aio_aio12_8_attach(struct comedi_device *dev,
	if (ret)
		return ret;

	/* Analog Input subdevice */
	s = &dev->subdevices[0];
	if (board->ai_nchan) {
		/* Analog input subdevice */
	if (board->has_ai) {
		s->type		= COMEDI_SUBD_AI;
		s->subdev_flags	= SDF_READABLE | SDF_GROUND | SDF_DIFF;
		s->n_chan	= board->ai_nchan;
		s->n_chan	= 8;
		s->maxdata	= 0x0fff;
		s->range_table	= &aio_aio12_8_range;
		s->insn_read	= aio_aio12_8_ai_read;
@@ -238,9 +238,9 @@ static int aio_aio12_8_attach(struct comedi_device *dev,
		s->type = COMEDI_SUBD_UNUSED;
	}

	/* Analog Output subdevice */
	s = &dev->subdevices[1];
	if (board->ao_nchan) {
		/* Analog output subdevice */
	if (board->has_ao) {
		s->type		= COMEDI_SUBD_AO;
		s->subdev_flags	= SDF_WRITABLE | SDF_GROUND;
		s->n_chan	= 4;