Commit Graph

7477 Commits

Author SHA1 Message Date
Ian Abbott
11e8457f02 staging: comedi: das08: rename DAS08_OP() and DAS08_DO_MASK
The `DAS08_DO_MASK` macro is a bitmask for the control register
corresponding to the digital output channels (except on "JR" boards).
Rename it to `DAS08_CONTROL_DO_MASK` and add a comment.

The `DAS08_OP(x)` macro takes a bitvector of the desired digital output
channel states and returns the corresponding bits for the control
register (except on "JR" boards).  Rename it to `DAS08_CONTROL_DO(x)`
and add a comment.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-12 17:06:40 -07:00
Ian Abbott
6a3a22bcad staging: comedi: das08: rename and rewrite DAS08_INTE
The `DAS08_INTE` macro contains a mask for the "INTE" bit in the control
register (except on "JR" boards).  Setting it to 1 enables interrupts.
Setting it to 0 disables interrupts and clears the "IRQ" bit in the
status register.  Rename the macro to `DAS08_CONTROL_INTE` and add a
comment.  Also use the `BIT()` macro to define its value.  (Note: the
driver does not currently enable interrupts.)

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-12 17:06:40 -07:00
Ian Abbott
ac81df6097 staging: comedi: das08: rename DAS08_MUX() and DAS08_MUX_MASK
The `DAS08_MUX_MASK` macro is a bitmask for the control register
corresponding to the analog input multiplexor channel selection bits.
Rename it to `DAS08_CONTROL_MUX_MASK` and add a comment.  Note that the
current setting of the multiplexor can also be read from the same bit
positions in the status register, but the driver does not use it.  Add a
comment to that effect.

The `DAS08_MUX(x)` macro takes an analog input channel number and
returns the corresponding analog input multiplexor channel selection
bits for the control register.  Rename it to `DAS08_CONTROL_MUX(x)` and
add a comment.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-12 17:06:40 -07:00
Ian Abbott
c800e51310 staging: comedi: das08: rename DAS08_CONTROL
The `DAS08_CONTROL` macro contains the offset to the write-only control
register.  Rename it to `DAS08_CONTROL_REG` and add a comment.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-12 17:06:40 -07:00
Ian Abbott
4d14ac8a90 staging: comedi: das08: rename and rewrite DAS08_IP
The `DAS08_IP()` macro takes a value read from the status register and
returns the state of the three digital input channels (except on "JR"
boards).  Rename it to `DAS08_STATUS_DI()` and add a comment.  Also
re-arrange the expression used to extract the state of the digital
inputs for consistency with other register macros.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-12 17:06:40 -07:00
Ian Abbott
2398391017 staging: comedi: das08: rename and rewrite DAS08_IRQ
The `DAS08_IRQ` macro contains a mask for the "IRQ" status bit.  This is
set to 1 when a rising edge is detected on the external interrupt input
pin of the external connector (which may be jumpered to a pacer output).
It is cleared by setting the "INTE" control bit to 0.  It is not used on
"JR" boards.  Rename the macro to `DAS08_STATUS_IRQ` and add a comment.
Also use the `BIT()` macro to define the value.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-12 17:06:40 -07:00
Ian Abbott
851e5d5475 staging: comedi: das08: rename and rewrite DAS08_EOC
The `DAS08_EOC` macro contains a mask for the "end of A/D conversion"
bit in the status register.  The logic is reverse sense in that the bit
is set to 1 while the conversion is in progress and set to 0 when the
conversion is complete.  Rename the macro to `DAS08_STATUS_AI_BUSY` and
add a comment.  Also make use of the `BIT()` macro to define the value.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-12 17:06:40 -07:00
Ian Abbott
b00b3f769a staging: comedi: das08: rename DAS08_STATUS
The `DAS08_STATUS` macro contains the offset to the read-only status
register.  Rename it to `DAS08_STATUS_REG` and add a comment.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-12 17:06:40 -07:00
Ian Abbott
c2ba9e9637 staging: comedi: das08: rename DAS08_TRIG_12BIT
The `DAS08_TRIG_12BIT` macro contains the offset to the write-only
software trigger register for 12-bit or 16-bit analog-to-digital
conversions.  Rename the macro to `DAS08_AI_TRIG_REG` and add a comment.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-12 17:06:40 -07:00
Ian Abbott
5826d99aed staging: comedi: das08: rename DAS08_LSB and DAS08_MSB
The `DAS08_LSB` and `DAS08_MSB` macros contain the offsets to the
least-significant and most-significant analog input data registers.
Rename them to `DAS08_AI_LSB_REG` and `DAS08_AI_MSB_REG` respectively
and add comments to document them.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-12 17:06:40 -07:00
Ian Abbott
3c7cab30f4 staging: comedi: das08.h: make self-reliant
The Comedi "das08.h" header file is included by drivers for the
ComputerBoards/MeasurementComputing and Keithley Metrabyte boards in the
DAS08 series.  It does not compile cleanly when it is the first header
included by the ".c" file.  It uses `struct comedi_device *` in the
parameter list of a function prototype, so just declare `struct
comedi_device` as an incomplete type.  It also uses `bool`, so include
<linux/types.h> to declare it.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-12 17:06:39 -07:00
Ian Abbott
2b56b35820 staging: comedi: das08: improve test for programmable gain
`das08_ai_rinsn()` handles Comedi `INSN_READ` instructions for the AI
subdevice.  This programs the gain for the analog input channel if the
board has support for that, and acquires data from the channel.  If
programmable gain is supported, the gain code is read from the array
pointed to by `devpriv->pg_gainlist` indexed by the range index.  The
function assumes that programmable gain is supported if the AI
subdevice's range table supports more than one range.  Replace that with
a more direct test for `devpriv->pg_gainlist` being non-NULL, as it is
only initialized to a non-NULL pointer for boards that support
programmable gain.

This will also allow range tables to be included for convenience for
those boards that support multiple ranges by DIP switches.  Those boards
are currently initialized to use a single "unknown" range.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-12 17:06:39 -07:00
Ian Abbott
fba5963c92 staging: comedi: das08: use indexed initializer for AI range table types
The "das08" common module for DAS08 ISA, PCI, and PCMCIA drivers
includes a predefined set of AI range tables.  The static board data (of
type `struct das08_board_struct`) for a particular board contains an
index in its `ai_pg` member (of type `enum das08_lrange`) indicating
which of the predefined AI range tables to use.  The "das08" common
module looks up this index in `das08_ai_lranges[]` to get a pointer to
the predefined range table for the board.  The same index is also looked
up in `das08_gainlists[]` to get a corresponding pointer to a list of
hardware gain values for each range supported by the board (NULL for
boards without programmable gain).

To make this clearer, used indexed initializers for `das08_ai_lranges[]`
and `das08_gainlists[]`, using the enumerated constants from `enum
das08_lrange` as the indices.  Also add a short comment to the
definition of `enum das08_lrange`.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-12 17:06:39 -07:00
Ian Abbott
d4d794330d staging: comedi: das08.h: reformat remaining comments
Reformat remaining comments to use the preferred style for single-line
and block comments.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-12 17:06:39 -07:00
Ian Abbott
884f01c949 staging: comedi: das08.h: change description in copyright header comment
The copyright header comment includes a single-line description saying
it is for "das08.c" and "das08_cs.c".  However, it is also used by
"das08_isa.c" and "das08_pci.c".  Update the description to say it is
for common DAS08 support, similar to description in "das08.c" (the
common module for the DAS08 ISA/PCI/PCMCIA drivers).

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-12 17:06:39 -07:00
Ian Abbott
71f0d052cc staging: comedi: das08.h: reformat copyright comment
Reformat the copyright comment at the top of the file to use the
preferred block comment style.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-12 17:06:39 -07:00
Ian Abbott
b08ad6657a staging: comedi: cb_pcimdas: fix handlers for DI and DO subdevices
Normally, low-level Comedi drivers set an `insn_bits` handler for
digital input (DI), digital output (DO) and digital input/output (DIO)
subdevice types to handle normal reading and writing of digital
channels.  The "cb_pcimdas" driver currently has an `insn_read` handler
for the DI subdevice and an `insn_write` handler for the DO subdevice.
However, the actual handler functions `cb_pcimdas_di_insn_read()` and
`cb_pcimdas_do_insn_write()` are written to behave like `insn_bits`
handlers.  Something's wrong there!  To fix it, set the functions as
`insn_bits` handlers and rename them for consistency.

Fixes: e56d03dee1 ("staging: comedi: cb_pcimdas: add main connector digital input/output")
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-12 17:05:40 -07:00
Abhishek Sharma
e1f9ae3bca Staging: comedi: adv_pci1724: Remove redundant return statements
Replace unnecessary conditional checks for variable 'ret' and replace
by single return statement.

Signed-off-by: Abhishek Sharma <asharm14@visteon.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-08 13:21:37 -07:00
Joglekar Tejas
51bb618bff Staging: comedi: ni_at_a2150: remove extra spaces before tab
This patch fix warning given by checkpatch.pl abouts spaces given
before tab

Signed-off-by: Joglekar Tejas <joglekartejas@gmail.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-08 13:21:37 -07:00
Nicholas Mc Guire
60c77d1adb staging: me_daq: use schedule_timeout_interruptible()
API consolidation with coccinelle found:
./drivers/staging/comedi/drivers/me_daq.c:177:1-17:
        consolidation with schedule_timeout_*() recommended

This is a 1:1 conversion of the current calls to an available helper
only - so only an API consolidation to improve readability.

Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-31 12:04:35 +09:00
Matthew Needes
d0e2f8f0be staging: comedi/drivers/pcl.* coding style fixes
pcl812.c (resend of earlier patch)
    Fixed lines exceeding 80 columns, correcting some spelling in process

Signed-off-by: Matthew Needes <mneedes@gmail.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-31 10:07:18 +09:00
Matthew Needes
8b4e7da516 staging: comedi/drivers/pcl.* coding style fixes
pcl812.c / pcl816.c (resend of earlier patch)
   Fixed indentation problems.

Signed-off-by: Matthew Needes <mneedes@gmail.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-31 10:07:18 +09:00
Geliang Tang
71f50e25c0 staging: comedi: keep the consistency
Changed "register 0x%x" to "register=0x%x" to keep the consistency
of this file.

Signed-off-by: Geliang Tang <geliangtang@163.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-31 10:07:18 +09:00
Geliang Tang
cdfba23d77 staging: comedi: fix checkpatch error
Fixed an error found by checkpatch.pl.
ERROR: space required after that ',' (ctx:VxV)
./drivers/ni_mio_common.c:3764

Signed-off-by: Geliang Tang <geliangtang@163.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-31 10:07:17 +09:00
Ian Abbott
3a62cdb7f6 staging: comedi: comedi_isadma.h: make self-reliant
The Comedi "comedi_isadma.h" header is included by the source for the
"comedi_isadma" helper module and other modules that use it.  It does
not compile cleanly when it is the first header file included.  It uses
the `dma_addr_t` type, so include <linux/types.h> to declare it.  (Also,
that indirectly takes care of the use of `NULL`.)  It uses `struct
comedi_device *` in various function prototypes, so add an incomplete
declaration of `struct comedi_device`.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-31 10:07:17 +09:00
Ian Abbott
b727255f01 staging: comedi: comedi_8254.h: make self-reliant
The Comedi "comedi_8254.h" header file is included by various Comedi
drivers with timer/counters based on the 8254 chip.  The drivers do not
compile cleanly if this header file is included first.  It uses pointers
to the `struct comedi_device`, `struct comedi_subdevice`, and `struct
comedi_insn` structures in various function prototypes, so declare those
as incomplete types.  It use the `bool` type, so include
<linux/types.h>.  It also uses the `__iomem` tag, but that seems to be
taken care of indirectly by including <linux/types.h>.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-31 10:07:17 +09:00
Ian Abbott
e57180c85a staging: comedi: addi_watchdog.h: don't include "../comedidev.h"
The Comedi "addi_watchdog.h" header doesn't use anything form
"comedidev.h" apart from `struct comedi_subdevice`, which it only uses
to construct a corresponding pointer type within the parameter list of a
function prototype.  Just declare the structure type incompletely and
don't bother including the header file.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-31 10:05:27 +09:00
Ian Abbott
7da42b5fda staging: comedi: amplc_dio200_pci.c: reformat copyright comment
Reformat the copyright comment at the top of the file to use the
preferred block comment style.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-31 10:05:27 +09:00
Ian Abbott
4cb1dec981 staging: comedi: amplc_dio200_common.c: fix up brace style
Use braces when the single statement following an `if` (or `else`)
spans more than one line (including any preceding comments).

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-31 10:05:26 +09:00
Ian Abbott
94ef971811 staging: comedi: amplc_dio200_common.c: reformat copyright comment
Reformat the copyright comment at the top of the file to use the
preferred block comment style.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-31 10:05:26 +09:00
Ian Abbott
158bb7287e staging: comedi: amplc_dio200.c: reformat copyright comment
Reformat the copyright comment at the top of the file to use the
preferred block comment style.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-31 10:05:26 +09:00
Ian Abbott
8ea6663284 staging: comedi: amplc_dio200.h: make self-reliant
The Comedi "amplc_dio200.h" header file included by drivers for Amplicon
DIO200 series cards does not compile cleanly when it is the first header
included by the ".c" file.  It uses `struct comedi_device *` in the
parameter lists of some function prototypes, so just declare `struct
comedi_device` as an incomplete type.  It also uses `bool`, so include
<linux/types.h> to declare it.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-31 10:05:26 +09:00
Ian Abbott
d94e5c6352 staging: comedi: amplc_dio200.h: reformat copyright comment
Reformat the copyright comment at the top of the file to use the
preferred block comment style.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-31 10:05:26 +09:00
Ian Abbott
968d17786d staging: comedi: comedi_8255: new module split from 8255
The Comedi "8255" module is both a standalone Comedi device driver
module for simple devices with one or more 8255 "Programmable Peripheral
Interface" chips at known I/O base addresses (configured at run-time),
and a helper module to configure a 8255-based digital I/O subdevice for
other Comedi drivers.

Split the "8255 subdevice helper" functionality into a new module:
"comedi_8255", leaving the standalone 8255 Comedi driver in the "8255"
module.

The Comedi "detach" routine of the standalone "8255" driver needs to
retrieve the I/O base address passed to the "comedi_8255" module to set
up each subdevice in order to release the I/O port regions it requested
in its "attach" routine.  The "comedi_8255" module stores it in a
"subdevice private" data structure that is no longer known to the "8255"
module, so add a new, exported function `subdev_8255_regbase()` to
retrieve it.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-31 10:05:26 +09:00
Ian Abbott
dc54ba4d88 staging: comedi: 8255: document callback parameters better
Several Comedi driver modules call `subdev_8255_init()` or
`subdev_8255_mm_init()` to set up a digital I/O subdevice based on the
"8255" chip.  One of the parameters to these functions is an optional
pointer to an I/O callback function to perform the actual register
accesses (an internal default callback function is used if NULL).

The kerneldoc for `subdev_8255_init()` and `subdev_8255_mm_init()`
describe the prototype of the optional I/O callback function
incorrectly (my fault), adding a non-existent parameter of type `struct
comedi_subdevice *`.  Fix the kerneldoc.  Also add parameter names to
the callback function pointer type wherever it occurs to make the usage
clearer.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-31 10:05:26 +09:00
Ian Abbott
d2c9deac56 staging: comedi: 8255.h: don't include "../comedidev.h"
The Comedi "8255.h" header doesn't use anything from "comedidev.h" apart
from `struct comedi_device` and `struct comedi_subdevice`, which are
only used to construct corresponding pointer types within the parameter
lists of function prototypes.  Just declare those structure types
incompletely and don't bother including "comedidev.h".

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-31 10:05:26 +09:00
Ian Abbott
7e0b1b60cb staging: comedi: 8255: fix I/O region leak on failure
The Comedi "8255" driver does not clean up properly on failure.  It can
leave requested I/O port regions unreleased.  Specifically, the Comedi
"attach" handler (`dev_8255_attach()`) requests a specified I/O port
region before calling `subdev_8255_init()` to set up the subdevice.  If
that fails, the "attach" handler returns an error and the Comedi core
will call the "detach" handler (`dev_8255_detach()`) to clean up.  The
"detach" handler is responsible for releasing the I/O port regions
successfully requested by the "attach" handler.  Unfortunately, it is
unable to obtain the base address of the region if the call to
`subdev_8255_init()` failed.

Fix the I/O region leak by releasing the region in the "attach" handler
directly if the call to `subdev_8255_init()` fails.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-31 10:05:26 +09:00
Amaury Denoyelle
85c12b82c6 Staging: comedi: fix style for multi-line comments in cb_pcidas64.c
This patch reformat multi-line comments which are not properly written
according to the kernel coding style in cb_pcidas64.c

Signed-off-by: Amaury Denoyelle <amaury.denoyelle@gmail.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-24 13:11:44 -07:00
Amaury Denoyelle
f51ff7e406 Staging: comedi: fix line longer than 80 chars in cb_pcidas64.c
This patch fixes coding style errors reported by checkpatch.pl for
cb_pcidas64.c, about too long source code lines.

Signed-off-by: Amaury Denoyelle <amaury.denoyelle@gmail.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-24 13:11:44 -07:00
Colin Cronin
163a1f19f4 Drivers: staging: comedi: comedi: Fixed comment spelling error
Fixed a spelling error in a comment.

Signed-off-by: Colin Cronin <colinpatrickcronin@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-24 13:11:44 -07:00
H Hartley Sweeten
1645b55b50 staging: comedi: ni_mio_common: fix build warning
The kbuild test robot detected a build warning causes by commit f878071a.

>> drivers/staging/comedi/drivers/ni_mio_common.c:2274:34:
   warning: right-hand operand of comma expression has no effect [-Wunused-value]

That line should have been terminated by ';' and the following line removed.
Not sure why it even builds on my test system...

Reported-by: kbuild test robot
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>
2015-05-13 11:48:34 -07:00
Jaime Arrocha
b420315335 staging: comedi: coding style identation error fix
Errors found by checkpatch.pl.
ERROR: code indent should use tabs where possible
/drivers/staging/comedi/drivers/das16m1.c:49
/drivers/staging/comedi/drivers/das16m1.c:50

Signed-off-by: Jaime Arrocha <jarr@kerneldev.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-10 14:58:02 +02:00
Arno Tiemersma
12cba5c9df staging: comedi: daqboard2000: Use preferred comment style
Use the preferred block comment style for the copyright and driver
description header comments.

Signed-off-by: Arno Tiemersma <arno.tiemersma@gmail.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-10 14:58:02 +02:00
Ian Abbott
cbba89f8a8 staging: comedi: gsc_hpdi: use a better MODULE_DESCRIPTION()
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-10 14:57:27 +02:00
Ian Abbott
86357d8ed8 staging: comedi: gsc_hpdi: use PCI_DEVICE_SUB()
Use the `PCI_DEVICE_SUB()` macro in the initializer of the PCI module
device table `gsc_hpdi_pci_table[]`.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-10 14:57:26 +02:00
Ian Abbott
c5f2579ed3 staging: comedi: gsc_hpdi: prefer using the BIT() macro
Fix all the checkpatch issues "CHECK: Prefer using the BIT macro".

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-10 14:57:26 +02:00
Ian Abbott
7b7afb469c staging: comedi: gsc_hpdi: usleep_range is preferred over udelay
Fix checkpatch issue: "CHECK: usleep_range is preferred over udelay; see
Documentation/timers/timers-howto.txt".  `udelay()` is only called once
from a place where sleeping is allowed.  Replace it with a call to
`usleep_range()` with a reasonable upper limit.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-10 14:57:26 +02:00
Ian Abbott
e899a4165c staging: comedi: gsc_hpdi: remove multiple board type support
The code for determining which board type matches the PCI device ID is
over-the-top since only a single board type is supported.  Also, the
method it uses match the PCI device ID to a board type is a little
antiquated.  Most comedi drivers for PCI devices use `driver_data` from
the probed PCI device as an index into an array of supported board
types, but "gsc_hpdi" uses a `for` loop to find an element of
`hpdi_boards[]` that matches the PCI device.  The only thing in
`hpdi_boards[]` not used for finding a matching PCI device is the `name`
member of `struct hpdi_board` which points to a string literal and ends
up getting assigned to `dev->board_name`.

Get rid of the multiple board type support, and set `dev->board_name` to
point to the original string literal pointed to by
`hpdi_boards[0].name`.  This string is visible to userspace.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-10 14:57:26 +02:00
Ian Abbott
dc05a7d70b staging: comedi: gsc_hpdi: tidy up comments
Use the usual style for block comments.  Squash double spaces after
comment opening sequence.  Move some comments after opening braces to
following line.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-10 14:57:26 +02:00
H Hartley Sweeten
35bb871663 staging: comedi: ni_stc.h: final cleanup
1) Move the enum's to a better location and tidy up the whitespace.
2) Tidy up the defines used for some array sizes in the private data.
3) Add comments for the spinlock_t variables in the private data.
4) Move the forward declaration to the end of the file.

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>
2015-05-09 19:05:20 +02:00