Commit Graph

5044 Commits

Author SHA1 Message Date
H Hartley Sweeten
d6ae506204 staging: comedi: jr3_pci: remove 'channel_no' from subdevice private data
This member of the subdevice private data is just the subdevice 'index'. Use
that instead and remove the member.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-17 12:38:54 -07:00
H Hartley Sweeten
da1331a503 staging: comedi: jr3_pci: rename struct poll_delay_t
Rename this private struct so it has namespace associated with the
driver.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-17 12:38:54 -07:00
H Hartley Sweeten
0a44493fb1 staging: comedi: jr3_pci: rename struct transform_t
Rename this private struct so it has namespace associated with the
driver.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-17 12:38:54 -07:00
H Hartley Sweeten
ed8cd56020 staging: comedi: jr3_pci: remove 'n_channels' from private data
This member of the private data is actually the number of subdevices. We
can get that information directly from the comedi_device. Do that instead
and remove the unnecessary member from the private data.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-17 12:38:54 -07:00
H Hartley Sweeten
7211806a7c staging: comedi: jr3_pci: introduce boardinfo for the supported boards
Create an enum for the boards supported by this driver and pass that enum in
the pci_driver id_table as the driver_data.

Introduce a boardinfo struct to hold the board specific data for the boards
supported by this driver. Use the boardinfo when attaching to the driver
instead of using the pcidev->device and the switch.

Since the PCI device ids are now only used in the id_table, remove the
defines and open code the device ids.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-17 12:38:53 -07:00
H Hartley Sweeten
16a86abea7 staging: comedi: jr3_pci: tidy up jr3_pci_ai_insn_read()
Refactor this function to make it clearer.

The channel does not need to be validated. The comedi core does that for us.

Exit early if the subdevice private data is invalid.

Exit early if the subdevice 'state' is not done or there is an error.

Factor out the code that actually reads the channel data to reduce the
indent level.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-17 12:38:53 -07:00
H Hartley Sweeten
617cd65312 staging: comedi: jr3_pci: tidy up jr3_pci_open()
For aesthetics, rename the subdevice private data pointer from 'p' to
'spriv' and add a local variable for the comedi_subdevice pointer.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-17 12:38:53 -07:00
H Hartley Sweeten
127301cb5d staging: comedi: jr3_pci: tidy up jr3_download_firmware()
This callback function for comedi_load_firmware() first validates that
the firmware data is the correct format then it writes the data to each
subdevice.

Split the two operations out as separate functions to clarify the code.
Tidy up the new functions.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-17 12:38:53 -07:00
H Hartley Sweeten
01fca4732b staging: comedi: jr3_pci: tidy up jr3_pci_poll_subdevice()
Refactor the function to reduce the indent level.

For aesthetics, rename the subdevice private data pointer from 'p'
to 'spriv'.

Rename the lacal variable used for the channel->full_scale to 'fs'
to reduce the line lengths.

Remove the setting of range[8]. The min,max values are the same as
the ones used when the subdevice private data was allocated and
initialized.

Remove the poll_delay_min_max() that are the same as the default.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-17 12:38:53 -07:00
H Hartley Sweeten
a448376e4d staging: comedi: jr3_pci: tidy up jr3_pci_poll_dev()
For aesthetics, rename the subdevice private data pointer from 'subdevpriv'
to 'spriv' and add a local variable for the comedi_subdevice pointer.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-17 12:38:53 -07:00
H Hartley Sweeten
3c77274cbd staging: comedi: jr3_pci: rename some local vars in the (*attach)
For aesthetics, rename the subdevice private data pointer from 'p'
to 'spriv' and the variable used to check the errno from 'result'
to 'ret'.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-17 12:38:52 -07:00
H Hartley Sweeten
9e4d67423d staging: comedi: jr3_pci: factor subdevice private data init out of (*attach)
Factor the code that allocates and initializes the subdevice private data
out of the (*attach) to reduce the indent level and make the code easier
to follow.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-17 12:38:52 -07:00
H Hartley Sweeten
6fe9bb6705 staging: comedi: jr3_pci: use comedi_alloc_spriv()
Use the helper function to allocate the subdevice private data. This
sets the s->private variable for us and allows the comedi core to
automatically kfree() the memory during the (*detach).

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-17 12:38:52 -07:00
H Hartley Sweeten
050389f5eb staging: comedi: jr3_pci: tidy up subdevice init
For aesthetics, use a pointer to the comedi_subdevice instead of
accessing the dev->subdevices array directly.

Move the local variable for the subdevice private data so that
this function does not declare the variable twice.

Change the kzalloc for the subdevice private data to remove the
sizeof(struct foo).

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-17 12:38:52 -07:00
H Hartley Sweeten
c6cd0eefb2 staging: comedi: comedi_fops: introduce __comedi_get_user_chanlist()
The COMEDI_CMD and COMEDI_CMDTEST ioctl functions both copy the chanlist
passed by the user from __user memory space to kernel memory space. They
then do some sanity checking of the chanlist with comedi_check_chanlist()
before the subdevice (*do_cmdtest) and (*do_cmd) operations are called.

Introduce a helper function to handle the memdup_user() and the sanity
checking.

Also, remove the unnecessary dev_dbg() when the memdup_user() or
comedi_check_chanlist() fail.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-17 12:27:58 -07:00
H Hartley Sweeten
87ece58331 staging: comedi: comedi_fops: introduce __comedi_get_user_cmd()
The COMEDI_CMD and COMEDI_CMDTEST ioctl functions both copy the
comedi_cmd passed by the user from __user memory space to kernel
memory space. They then do some basic sanity checking of the cmd
before the subdevice (*do_cmdtest) and (*do_cmd) operations are
called.

Introduce a helper function to handle the copy_from_user() and
do the basic sanity checking.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-17 12:27:58 -07:00
Himangi Saraogi
cb90e78dcc staging:comedi: Fix sparse warnings of incorrect type in assignment
This patch fixes the following sparse warnings:
drivers/staging/comedi/drivers/mite.c:343:44: warning: incorrect type in assignment (different base types)
drivers/staging/comedi/drivers/mite.c:343:44:    expected unsigned int [unsigned] [usertype] count
drivers/staging/comedi/drivers/mite.c:343:44:    got restricted __le32 [usertype] <noident>
drivers/staging/comedi/drivers/mite.c:344:43: warning: incorrect type in assignment (different base types)
drivers/staging/comedi/drivers/mite.c:344:43:    expected unsigned int [unsigned] [usertype] addr
drivers/staging/comedi/drivers/mite.c:344:43:    got restricted __le32 [usertype] <noident>
drivers/staging/comedi/drivers/mite.c:346:43: warning: incorrect type in assignment (different base types)
drivers/staging/comedi/drivers/mite.c:346:43:    expected unsigned int [unsigned] [usertype] next
drivers/staging/comedi/drivers/mite.c:346:43:    got restricted __le32 [usertype] <noident>
drivers/staging/comedi/drivers/mite.c:351:45: warning: incorrect type in assignment (different base types)
drivers/staging/comedi/drivers/mite.c:351:45:    expected unsigned int [unsigned] [usertype] next
drivers/staging/comedi/drivers/mite.c:351:45:    got restricted __le32 [usertype] <noident>

Signed-off-by: Himangi Saraogi <himangi774@gmail.com>
Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
2014-03-13 17:36:55 -07:00
Himangi Saraogi
5c7895c05f staging:comedi: Fix sparse warnings
This patch fixes the following sparse warnings:

drivers/staging/comedi/drivers/gsc_hpdi.c:367:53: warning: incorrect type in assignment (different base types)
drivers/staging/comedi/drivers/gsc_hpdi.c:367:53:    expected unsigned int volatile [unsigned] [usertype] pci_start_addr
drivers/staging/comedi/drivers/gsc_hpdi.c:367:53:    got restricted __le32 [usertype] <noident>
drivers/staging/comedi/drivers/gsc_hpdi.c:370:55: warning: incorrect type in assignment (different base types)
drivers/staging/comedi/drivers/gsc_hpdi.c:370:55:    expected unsigned int volatile [unsigned] [usertype] local_start_addr
drivers/staging/comedi/drivers/gsc_hpdi.c:370:55:    got restricted __le32 [usertype] <noident>
drivers/staging/comedi/drivers/gsc_hpdi.c:371:52: warning: incorrect type in assignment (different base types)
drivers/staging/comedi/drivers/gsc_hpdi.c:371:52:    expected unsigned int volatile [unsigned] [usertype] transfer_size
drivers/staging/comedi/drivers/gsc_hpdi.c:371:52:    got restricted __le32 [usertype] <noident>
drivers/staging/comedi/drivers/gsc_hpdi.c:373:43: warning: incorrect type in assignment (different base types)
drivers/staging/comedi/drivers/gsc_hpdi.c:373:43:    expected unsigned int volatile [unsigned] [usertype] next
drivers/staging/comedi/drivers/gsc_hpdi.c:373:43:    got restricted __le32 [usertype] <noident>
drivers/staging/comedi/drivers/gsc_hpdi.c:390:39: warning: incorrect type in assignment (different base types)
drivers/staging/comedi/drivers/gsc_hpdi.c:390:39:    expected unsigned int volatile [unsigned] [usertype] next
drivers/staging/comedi/drivers/gsc_hpdi.c:390:39:    got restricted __le32 [usertype] <noident>
drivers/staging/comedi/drivers/gsc_hpdi.c:704:15: warning: cast to restricted __le32
drivers/staging/comedi/drivers/gsc_hpdi.c:707:15: warning: cast to restricted __le32
drivers/staging/comedi/drivers/cb_pcidas64.c:1495:56: warning: incorrect type in assignment (different base types)
drivers/staging/comedi/drivers/cb_pcidas64.c:1495:56:    expected unsigned int volatile [unsigned] [usertype] pci_start_addr
drivers/staging/comedi/drivers/cb_pcidas64.c:1495:56:    got restricted __le32 [usertype] <noident>
drivers/staging/comedi/drivers/cb_pcidas64.c:1498:66: warning: incorrect type in assignment (different base types)
drivers/staging/comedi/drivers/cb_pcidas64.c:1498:66:    expected unsigned int volatile [unsigned] [usertype] local_start_addr
drivers/staging/comedi/drivers/cb_pcidas64.c:1498:66:    got restricted __le32 [usertype] <noident>
drivers/staging/comedi/drivers/cb_pcidas64.c:1502:66: warning: incorrect type in assignment (different base types)
drivers/staging/comedi/drivers/cb_pcidas64.c:1502:66:    expected unsigned int volatile [unsigned] [usertype] local_start_addr
drivers/staging/comedi/drivers/cb_pcidas64.c:1502:66:    got restricted __le32 [usertype] <noident>
drivers/staging/comedi/drivers/cb_pcidas64.c:1505:55: warning: incorrect type in assignment (different base types)
drivers/staging/comedi/drivers/cb_pcidas64.c:1505:55:    expected unsigned int volatile [unsigned] [usertype] transfer_size
drivers/staging/comedi/drivers/cb_pcidas64.c:1505:55:    got restricted __le32 [usertype] <noident>
drivers/staging/comedi/drivers/cb_pcidas64.c:1506:46: warning: incorrect type in assignment (different base types)
drivers/staging/comedi/drivers/cb_pcidas64.c:1506:46:    expected unsigned int volatile [unsigned] [usertype] next
drivers/staging/comedi/drivers/cb_pcidas64.c:1506:46:    got restricted __le32 [usertype] <noident>
drivers/staging/comedi/drivers/cb_pcidas64.c:1515:64: warning: incorrect type in assignment (different base types)
drivers/staging/comedi/drivers/cb_pcidas64.c:1515:64:    expected unsigned int volatile [unsigned] [usertype] pci_start_addr
drivers/staging/comedi/drivers/cb_pcidas64.c:1515:64:    got restricted __le32 [usertype] <noident>
drivers/staging/comedi/drivers/cb_pcidas64.c:1517:66: warning: incorrect type in assignment (different base types)
drivers/staging/comedi/drivers/cb_pcidas64.c:1517:66:    expected unsigned int volatile [unsigned] [usertype] local_start_addr
drivers/staging/comedi/drivers/cb_pcidas64.c:1517:66:    got restricted __le32 [usertype] <noident>
drivers/staging/comedi/drivers/cb_pcidas64.c:1520:63: warning: incorrect type in assignment (different base types)
drivers/staging/comedi/drivers/cb_pcidas64.c:1520:63:    expected unsigned int volatile [unsigned] [usertype] transfer_size
drivers/staging/comedi/drivers/cb_pcidas64.c:1520:63:    got restricted __le32 [usertype] <noident>
drivers/staging/comedi/drivers/cb_pcidas64.c:1521:54: warning: incorrect type in assignment (different base types)
drivers/staging/comedi/drivers/cb_pcidas64.c:1521:54:    expected unsigned int volatile [unsigned] [usertype] next
drivers/staging/comedi/drivers/cb_pcidas64.c:1521:54:    got restricted __le32 [usertype] <noident>
drivers/staging/comedi/drivers/cb_pcidas64.c:2540:63: warning: incorrect type in assignment (different base types)
drivers/staging/comedi/drivers/cb_pcidas64.c:2540:63:    expected unsigned int volatile [unsigned] [usertype] transfer_size
drivers/staging/comedi/drivers/cb_pcidas64.c:2540:63:    got restricted __le32 [usertype] <noident>
drivers/staging/comedi/drivers/cb_pcidas64.c:2890:58: warning: incorrect type in assignment (different base types)
drivers/staging/comedi/drivers/cb_pcidas64.c:2890:58:    expected unsigned int volatile [unsigned] [usertype] transfer_size
drivers/staging/comedi/drivers/cb_pcidas64.c:2890:58:    got restricted __le32 [usertype] <noident>
drivers/staging/comedi/drivers/cb_pcidas64.c:2893:21: warning: cast to restricted __le32
drivers/staging/comedi/drivers/cb_pcidas64.c:2895:49: warning: incorrect type in assignment (different base types)
drivers/staging/comedi/drivers/cb_pcidas64.c:2895:49:    expected unsigned int volatile [unsigned] [usertype] next
drivers/staging/comedi/drivers/cb_pcidas64.c:2895:49:    got restricted __le32 [usertype] <noident>
drivers/staging/comedi/drivers/cb_pcidas64.c:2898:21: warning: cast to restricted __le32
drivers/staging/comedi/drivers/cb_pcidas64.c:2900:54: warning: incorrect type in assignment (different base types)
drivers/staging/comedi/drivers/cb_pcidas64.c:2900:54:    expected unsigned int volatile [unsigned] [usertype] next
drivers/staging/comedi/drivers/cb_pcidas64.c:2900:54:    got restricted __le32 [usertype] <noident>

Signed-off-by: Himangi Saraogi <himangi774@gmail.com>
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
2014-03-10 23:39:40 -07:00
Nick Davies
3cf477b56c Staging: comedi: ni_tio Fixed whitespace coding style warnings
Fixed coding style warnings in ni_tio.h which had an extra space
after the function pointer name.

Signed-off-by: Nick Davies <git@nicolasdavies.com.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-08 21:13:31 -08:00
Conrad Meyer
d2ff1d2067 Staging: comedi: do not initialize statics to 0 (apci1500)
Minor style cleanup per checkpatch.pl.

Signed-off-by: Conrad Meyer <cse.cem@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-08 19:02:12 -08:00
Conrad Meyer
c9847a6eeb Staging: comedi: Kill comment art in hwdrv_apci1500.c
Nudge the commenting in this mess a little further from 'bad.' Much of
it was incorrectly indented.

Another sed cleanup:
  $ sed -i -e '/\/\*\*\*\*\*\*\*\*\**\//,1d' addi-data/hwdrv_apci1500.c

Signed-off-by: Conrad Meyer <cse.cem@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-08 19:02:12 -08:00
Conrad Meyer
d0ba1e38e0 Staging: comedi: Fix some raw printks with dev_warn()
Brought to you with the help of sed and manual clean-up after.

  $ sed -i -e 's|printk("\\n|dev_warn(dev->hw_dev,\n\t"|' \
    addi-data/hwdrv_apci1500.c

Since all of these printk()s were for invalid API inputs and most of
them returned -EINVAL, I fixed the rest of them to return -EINVAL as
well.

Signed-off-by: Conrad Meyer <cse.cem@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-08 19:02:12 -08:00
Fred Akers
56b1fcfdeb Staging: comedi: range: remove unnecessary sanity check
This check is unnecessary because range_table will always be
initialized to range_unknown by comedi_device_postconfig() for
drivers that do not initialize range_table or range_table_list

Signed-off-by: Fred Akers <knivey@botops.net>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-08 18:59:48 -08:00
Fred Akers
afdc37ee79 Staging: comedi: range: tidy up comedi_check_chanlist()
Refactor this function to remove an extra indent level

Signed-off-by: Fred Akers <knivey@botops.net>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-08 18:59:48 -08:00
Conrad Meyer
f3c25d5690 Staging: comedi: Fix 80-char line limit style issue in addi_apci_1500.c
Rename some very long functions in addi-data/hwdrv_apci1500.c.

Signed-off-by: Conrad Meyer <cse.cem@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-08 17:33:07 -08:00
Chase Southwood
11899188be Staging: comedi: addi-data: tidy up counter register map defines in hwdrv_apci1564.c
This patch fixes the register map defines for the counter registers such
that they are all the real offsets to each register, rather than a mix of
real offsets and adders to those offsets.

Signed-off-by: Chase Southwood <chase.southwood@yahoo.com>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-08 17:31:50 -08:00
Chase Southwood
b9d5c8cfdf Staging: comedi: addi-data: tidy up timer register map defines in hwdrv_apci1564.c
This patch for fixes the register map defines for the timer registers such
that they are all the real offsets to each register, rather than a mix of
real offsets and adders to those offsets.

Signed-off-by: Chase Southwood <chase.southwood@yahoo.com>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-08 17:30:07 -08:00
Chase Southwood
cef51fd887 Staging: comedi: addi-data: tidy up watchdog register
This patch for fixes the register map defines for the watchdog registers
such that they are all the real offsets to each register, rather than a
mix of real offsets and adders to those offsets.

Signed-off-by: Chase Southwood <chase.southwood@yahoo.com>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-08 17:29:35 -08:00
Chase Southwood
48cf60d164 Staging: comedi: addi-data: tidy up digital output register map defines in hwdrv_apci1564.c
This patch fixes the register map defines for the digital output registers
such that they are all the real offsets to each register, rather than a
mix of real offsets and adders to those offsets.

Further, some of the old defines were being used incorrectly in the
i_APCI1564_Reset() function.  Upon swapping the old defines out for the
new ones in this function, their use has been corrected.

Signed-off-by: Chase Southwood <chase.southwood@yahoo.com>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-08 17:28:53 -08:00
Chase Southwood
7df867327d Staging: comedi: addi-data: tidy up digital input register map defines in hwdrv_apci1564.c
This patch fixes the register map defines for the digital input registers
such that they are all the real offsets to each register, rather than a
mix of real offsets and adders to those offsets.

Further, some of the old defines were being used incorrectly in the
i_APCI1564_Reset() function.  Upon swapping the old defines out for the
new ones in this function, their use has been corrected.

Signed-off-by: Chase Southwood <chase.southwood@yahoo.com>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-08 17:28:53 -08:00
John de la Garza
d2b7f4c429 comedi:drivers:poc.c: unnecessary space before function pointer arguments
Removed unnecessary space before function pointer arguments.

Signed-off-by: John de la Garza <john@jjdev.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-06 17:31:44 -08:00
H Hartley Sweeten
bc7d7fc0e3 staging: comedi: pcl818: clarify pcl818_reset()
Like done in the pcl812 driver, use the boardinfo to determine what
should be reset.

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>
2014-03-06 17:06:19 -08:00
H Hartley Sweeten
708df4c449 staging: comedi: pcl812: clarify pcl812_reset()
Instead of using the 'board_type' and the switch, use the boardinfo
to determine what should be reset.

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>
2014-03-06 17:06:19 -08:00
H Hartley Sweeten
1be6b015e7 staging: comedi: pcl818: tidy up the remaining register defines
For aesthetics, rename the timer/counter enable request register
and define its bits.

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>
2014-03-06 17:06:19 -08:00
H Hartley Sweeten
e8e7709f33 staging: comedi: pcl816: tidy up the remaining register defines
For aesthetics, rename the clear INT request register.

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>
2014-03-06 17:06:18 -08:00
H Hartley Sweeten
10a2c50278 staging: comedi: pcl812: tidy up the remaining register defines
The PCL812_CNTENABLE define is not used in this driver. Remove it.

For aesthetics, rename the software trigger register.

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>
2014-03-06 17:06:18 -08:00
H Hartley Sweeten
d5f874367a staging: comedi: pcl818: cleanup ai_cmd()
Rename this function so it has namespace associated with the driver.

The cmd->scan_begin_src is always TRIG_FOLLOW and the only valid
cmd->convert_src is TRIG_TIMER or TRIG_EXT so pcl818_ai_cmd_mode()
is always called with a 'mode' of 1 or 3. The 'mode' actually indicates
the trigger source.

Absorb pcl818_ai_cmd_mode() into this function and simplify the code.

This also removes the need for a forward declaration.

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>
2014-03-06 17:06:18 -08:00
H Hartley Sweeten
b8d17c4a5f staging: comedi: pcl818: absorb pcl818_ai_mode13dma_int()
Absorb this function into pcl818_ai_cmd_mode() and simplify the code.

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>
2014-03-06 17:06:18 -08:00
H Hartley Sweeten
5af366ffad staging: comedi: pcl818: define the mode register bits
Define the bits in the register to remove the magic values.

Tidy up pcl818_ai_cancel(). The 0x73 mask of the value read from
the control register will disable dma and interrupts but it does
not change the trigger mode. So the software trigger following it
might not work.

Just disable the trigger and clear any pending end-of-conversion.

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>
2014-03-06 17:06:18 -08:00
H Hartley Sweeten
6cf215d730 staging: comedi: pcl816: define the mode register bits
Define the bits in the register to remove the magic values.

Fix pcl816_ai_cancel(). The 0x73 mask of the value read from the control
register will not stop the A/D as indicated by the comment. This would just
clear the DS1, POE, and EXT bits which would only disable the external
trigger. Setting the control register to '0' would then stop the A/D which
means the software trigger following it would not work. Just disable the
trigger and clear any pending end-of-conversion.

Make sure the A/D trigger is disabled at the end of the (*insn_read).

Remove a couple unnecessary devpriv->dev checks. The pcl816_ai_cmd() and
pcl816_ai_poll() functions are only hooked up when devpriv->dma is valid.

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>
2014-03-06 17:06:18 -08:00
H Hartley Sweeten
89513858ae staging: comedi: pcl812: define the mode register bits
For aesthetics, rename this register.

Define the bits in the register to remove the magic values.

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>
2014-03-06 17:06:18 -08:00
H Hartley Sweeten
933ccd824d staging: comedi: pcl818: cleanup setup_channel_list()
Move this function to remove the need for the forward declaration. Rename it
so it has namespace associated with the driver. Remove the unnecessary
comedi_subdevice parameter from the function.

The hardware has per-channel programmable gain. This function first sets the
range for each channel then sets the mux register to automatically scan the
channels.

The use of 'muxonechan' when programming the ranges is incorrect. Only the low
4-bits are supposed to be set when programming the ranges.

Introduce a couple helper functions to set the range for a channel and to set
the first/last channels to scan.

Tidy up the range and mux register defines.

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>
2014-03-06 17:06:18 -08:00
H Hartley Sweeten
19720c07f1 staging: comedi: pcl816: cleanup setup_channel_list()
Move this function to remove the need for the forward declaration. Rename it
so it has namespace associated with the driver. Remove the unnecessary
comedi_subdevice parameter from the function.

The hardware has per-channel programmable gain. This function first sets the
range for each channel then sets the mux register to automatically scan the
channels.

Remove the need for the 'ai_act_chanlist' member in the private data. It is
only used to set the first/last channel to scan.

Introduce a couple helper functions to set the range for a channel and to set
the first/last channels to scan.

Tidy up the range and mux register defines.

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>
2014-03-06 17:06:18 -08:00
H Hartley Sweeten
4384aaadc2 staging: comedi: pcl812: cleanup setup_range_channel()
Move this function to remove the need for the forward declaration. Rename it
so it has namespace associated with the driver. Remove the unnecessary
comedi_subdevice parameter from the function.

The hardware does not support analog input channel scanning so the mux and
range need to be set before each (*insn_read) and when advancing to the next
channel in an async command. Instead of storing the last chan/range in the
private data just store the chanspec to determine if the mux and range need
to be changed.

Refactor pcl812_reset() a bit so we can use the helper function to set the
mux and range.

Define the bits in the mux register to remove the magic values.

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>
2014-03-06 17:06:18 -08:00
H Hartley Sweeten
598e61e6dd staging: comedi: pcl812: define the status register bits
Define the bits in the status register.

Writing any value to the status register clears any pending interrupt.
For aesthetics, rename the status register and remove the "clrint"
register.

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>
2014-03-06 17:06:17 -08:00
H Hartley Sweeten
f72196eca4 staging: comedi: pcl816: define the status register bits
Define the bits in the status register.

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>
2014-03-06 17:06:17 -08:00
H Hartley Sweeten
8d0b5e15df staging: comedi: pcl818: define the status register bits
Define the bits in the status register and remove the magic values.

Writing any value to the status register clears any pending interrupt.
For aesthetics, rename the status register and remove the "clrint"
register.

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>
2014-03-06 17:06:17 -08:00
H Hartley Sweeten
906a183ff0 staging: comedi: pcl818: tidy up analog input registers
For aesthetics, rename the analog input register defines and convert
the offsets to hex.

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>
2014-03-06 17:06:17 -08:00
H Hartley Sweeten
c99e0e196c staging: comedi: pcl816: tidy up analog input registers
For aesthetics, rename the analog input register defines and convert
the offsets to hex.

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>
2014-03-06 17:06:17 -08:00
H Hartley Sweeten
9ab7fbd861 staging: comedi: pcl812: tidy up analog input registers
For aesthetics, rename the analog input register defines and convert
the offsets to hex.

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>
2014-03-06 17:06:16 -08:00