diff options
author | Ian Abbott | 2014-07-23 11:41:18 +0200 |
---|---|---|
committer | Greg Kroah-Hartman | 2014-07-25 00:01:24 +0200 |
commit | de35c94178d6315f6def773a2137bc82a840f3d8 (patch) | |
tree | 1932b4f3b2fb9f8b99c24503b0aff758a665b59b | |
parent | staging: quickstart: remove driver (diff) | |
download | kernel-qcow2-linux-de35c94178d6315f6def773a2137bc82a840f3d8.tar.gz kernel-qcow2-linux-de35c94178d6315f6def773a2137bc82a840f3d8.tar.xz kernel-qcow2-linux-de35c94178d6315f6def773a2137bc82a840f3d8.zip |
staging: comedi: ni_65xx: add ni_65xx_num_ports()
Add a function to return the total number of digital I/O, digital input,
and digital output ports on the board. Each port has 8 channels (bits).
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/staging/comedi/drivers/ni_65xx.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/staging/comedi/drivers/ni_65xx.c b/drivers/staging/comedi/drivers/ni_65xx.c index aba6fbbe340a..0f9185ebda66 100644 --- a/drivers/staging/comedi/drivers/ni_65xx.c +++ b/drivers/staging/comedi/drivers/ni_65xx.c @@ -296,17 +296,19 @@ struct ni_65xx_private { void __iomem *mmio; }; -static void ni_65xx_disable_input_filters(struct comedi_device *dev) +static unsigned int ni_65xx_num_ports(struct comedi_device *dev) { const struct ni_65xx_board *board = comedi_board(dev); + + return board->num_dio_ports + board->num_di_ports + board->num_do_ports; +} + +static void ni_65xx_disable_input_filters(struct comedi_device *dev) +{ struct ni_65xx_private *devpriv = dev->private; - unsigned num_ports; + unsigned int num_ports = ni_65xx_num_ports(dev); 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)); |