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

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

staging: comedi: pcl818: clarify irq request in pcl818_attach()



All the board types can use IRQ 2-7 for async command support. Remove
the 'IRQbits', which is a mask of the valid IRQs, from the boardinfo
and refactor pcl818_attach().

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 8cfda3f8
Loading
Loading
Loading
Loading
+2 −9
Original line number Diff line number Diff line
@@ -261,7 +261,6 @@ struct pcl818_board {
	unsigned int ns_min;
	int n_aochan;
	const struct comedi_lrange *ai_range_type;
	unsigned int IRQbits;
	int ai_maxdata;
	int ao_maxdata;
	unsigned int has_dma:1;
@@ -275,7 +274,6 @@ static const struct pcl818_board boardtypes[] = {
		.ns_min		= 25000,
		.n_aochan	= 1,
		.ai_range_type	= &range_pcl818l_l_ai,
		.IRQbits	= 0x00fc,
		.ai_maxdata	= 0xfff,
		.ao_maxdata	= 0xfff,
		.has_dma	= 1,
@@ -285,7 +283,6 @@ static const struct pcl818_board boardtypes[] = {
		.ns_min		= 10000,
		.n_aochan	= 1,
		.ai_range_type	= &range_pcl818h_ai,
		.IRQbits	= 0x00fc,
		.ai_maxdata	= 0xfff,
		.ao_maxdata	= 0xfff,
		.has_dma	= 1,
@@ -295,7 +292,6 @@ static const struct pcl818_board boardtypes[] = {
		.ns_min		= 10000,
		.n_aochan	= 1,
		.ai_range_type	= &range_pcl818h_ai,
		.IRQbits	= 0x00fc,
		.ai_maxdata	= 0xfff,
		.ao_maxdata	= 0xfff,
		.has_dma	= 1,
@@ -306,7 +302,6 @@ static const struct pcl818_board boardtypes[] = {
		.ns_min		= 10000,
		.n_aochan	= 1,
		.ai_range_type	= &range_pcl818hg_ai,
		.IRQbits	= 0x00fc,
		.ai_maxdata	= 0xfff,
		.ao_maxdata	= 0xfff,
		.has_dma	= 1,
@@ -317,7 +312,6 @@ static const struct pcl818_board boardtypes[] = {
		.ns_min		= 10000,
		.n_aochan	= 2,
		.ai_range_type	= &range_pcl818h_ai,
		.IRQbits	= 0x00fc,
		.ai_maxdata	= 0xfff,
		.ao_maxdata	= 0xfff,
		.has_dma	= 1,
@@ -327,7 +321,6 @@ static const struct pcl818_board boardtypes[] = {
		.ns_min		= 16000,
		.n_aochan	= 2,
		.ai_range_type	= &range_unipolar5,
		.IRQbits	= 0x00fc,
		.ai_maxdata	= 0xfff,
		.ao_maxdata	= 0xfff,
		.has_dma	= 1,
@@ -335,7 +328,6 @@ static const struct pcl818_board boardtypes[] = {
		.name		= "pcm3718",
		.ns_min		= 10000,
		.ai_range_type	= &range_pcl818h_ai,
		.IRQbits	= 0x00fc,
		.ai_maxdata	= 0xfff,
		.ao_maxdata	= 0xfff,
		.has_dma	= 1,
@@ -1347,7 +1339,8 @@ static int pcl818_attach(struct comedi_device *dev, struct comedi_devconfig *it)
		return -EIO;
	}

	if ((1 << it->options[1]) & board->IRQbits) {
	/* we can use IRQ 2-7 for async command support */
	if (it->options[1] >= 2 && it->options[1] <= 7) {
		ret = request_irq(it->options[1], interrupt_pcl818, 0,
				  dev->board_name, dev);
		if (ret == 0)