mirror of
https://github.com/torvalds/linux.git
synced 2026-08-01 20:22:08 +02:00
staging: comedi: ni_65xx: factor input filter disable out of (*auto_attach)
For aesthetics, factor the code that disables the input filters out of ni_65xx_auto_attach(). Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
dd26947342
commit
9233c8db35
|
|
@ -278,16 +278,29 @@ static const struct ni_65xx_board ni_65xx_boards[] = {
|
|||
},
|
||||
};
|
||||
|
||||
static inline unsigned ni_65xx_total_num_ports(const struct ni_65xx_board
|
||||
*board)
|
||||
{
|
||||
return board->num_dio_ports + board->num_di_ports + board->num_do_ports;
|
||||
}
|
||||
|
||||
struct ni_65xx_private {
|
||||
void __iomem *mmio;
|
||||
};
|
||||
|
||||
static void ni_65xx_disable_input_filters(struct comedi_device *dev)
|
||||
{
|
||||
const struct ni_65xx_board *board = comedi_board(dev);
|
||||
struct ni_65xx_private *devpriv = dev->private;
|
||||
unsigned num_ports;
|
||||
int i;
|
||||
|
||||
num_ports = board->num_dio_ports +
|
||||
board->num_di_ports +
|
||||
board->num_do_ports;
|
||||
|
||||
/* disable input filtering on all ports */
|
||||
for (i = 0; i < num_ports; ++i)
|
||||
writeb(0x00, devpriv->mmio + NI_65XX_FILTER_ENA(i));
|
||||
|
||||
/* set filter interval to 0 (32bit reg) */
|
||||
writel(0x00000000, devpriv->mmio + NI_65XX_FILTER_REG);
|
||||
}
|
||||
|
||||
static int ni_65xx_dio_insn_config(struct comedi_device *dev,
|
||||
struct comedi_subdevice *s,
|
||||
struct comedi_insn *insn,
|
||||
|
|
@ -709,11 +722,7 @@ static int ni_65xx_auto_attach(struct comedi_device *dev,
|
|||
s->cancel = ni_65xx_intr_cancel;
|
||||
}
|
||||
|
||||
for (i = 0; i < ni_65xx_total_num_ports(board); ++i)
|
||||
writeb(0x00, devpriv->mmio + NI_65XX_FILTER_ENA(i));
|
||||
|
||||
/* Set filter interval to 0 (32bit reg) */
|
||||
writel(0x00000000, devpriv->mmio + NI_65XX_FILTER_REG);
|
||||
ni_65xx_disable_input_filters(dev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user