summaryrefslogtreecommitdiffstats
path: root/drivers/staging/comedi
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'staging-4.11-rc1' of ↵Linus Torvalds2017-02-2235-491/+806
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging Pull staging/iio driver updates from Greg KH: "Here is the big staging and iio driver patchsets for 4.11-rc1. We almost broke even this time around, with only a few thousand lines added overall, as we removed the old and obsolete i4l code, but added some new drivers for the RPi platform, as well as adding some new IIO drivers. All of these have been in linux-next for a while with no reported issues" * tag 'staging-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (669 commits) Staging: vc04_services: Fix the "space prohibited" code style errors Staging: vc04_services: Fix the "wrong indent" code style errors staging: octeon: Use net_device_stats from struct net_device Staging: rtl8192u: ieee80211: ieee80211.h - style fix Staging: rtl8192u: ieee80211: ieee80211_tx.c - style fix Staging: rtl8192u: ieee80211: rtl819x_BAProc.c - style fix Staging: rtl8192u: ieee80211: ieee80211_module.c - style fix Staging: rtl8192u: ieee80211: rtl819x_TSProc.c - style fix Staging: rtl8192u: r8192U.h - style fix Staging: rtl8192u: r8192U_core.c - style fix Staging: rtl8192u: r819xU_cmdpkt.c - style fix staging: rtl8192u: blank lines aren't necessary before a close brace '}' staging: rtl8192u: Adding space after enum and struct definition staging: rtl8192u: Adding space after struct definition Staging: ks7010: Add required and preferred spaces around operators Staging: ks7010: ks*: Remove redundant blank lines Staging: ks7010: ks*: Add missing blank lines after declarations staging: visorbus, replace init_timer with setup_timer staging: vt6656: rxtx.c Removed multiple dereferencing staging: vt6656: Alignment match open parenthesis ...
| * Staging: comedi: drivers: comedi_test: Add auto-configuration capabilityCheah Kok Cheong2017-02-161-12/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently this module needs to be manually configured by COMEDI userspace tool before the test waveform can be read by a COMEDI compatible application. This patch adds auto-configuration capability and makes it the default loading option. This is achieved by creating a device during init to stand in for a real hardware device. This allows comedi_auto_config() to perform auto-configuration. With this patch, the test waveform can be read by a COMEDI compatible application without needing manual configuration. Previous behaviour is still selectable via module loading parameter. Module loading without passing any parameter will default to auto-configuration with the same default waveform amplitude and period values. For auto-configuration, different amplitude and period values can be set via module loading parameters. Tested on Xubuntu 16.04 using Xoscope ver: 2.0 which is available in the Ubuntu repository. Xoscope is a COMEDI compatible digital oscilloscope application. For manual configuration, only module loading/unloading is tested. Here are the truncated dmesg output. [sudo modprobe comedi_test] comedi_test: 1000000 microvolt, 100000 microsecond waveform attached driver 'comedi_test' has successfully auto-configured 'comedi_test'. [sudo modprobe comedi_test amplitude=2500000 period=150000] comedi_test: 2500000 microvolt, 150000 microsecond waveform attached driver 'comedi_test' has successfully auto-configured 'comedi_test'. [sudo modprobe comedi_test noauto=1] comedi_test: module is from the staging directory, the quality is unknown, you have been warned. For those without an actual hardware, the comedi_test module is as close as one can get to test the COMEDI system. Having both auto and manual configuration capability will broaden the test function of this module. Hopefully this will make it easier for people to check out the COMEDI system and contribute to its development. Signed-off-by: Cheah Kok Cheong <thrust73@gmail.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: comedi: fixed multiple line dereferenceArtur Lorincz2017-02-141-3/+2
| | | | | | | | | | | | | | | | Fixed multiple line dereference for &cmd->scan_begin_arg. Signed-off-by: Artur Lorincz <larturus@yahoo.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: comedi: made comedi_lrange struct constantArtur Lorincz2017-02-141-1/+1
| | | | | | | | | | | | | | | | Added the const type qualifier to the comedi_lrange structure. Signed-off-by: Artur Lorincz <larturus@yahoo.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: comedi: ni_pcimio: remove unused variable 'serial_number'Karthik Nayak2017-02-142-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The struct 'ni_private' holds the variable 'serial_number' which post assignment is never used. Remove the variable and code pertaining to obtaining its value. As a side note, this also fixes the following sparse error: drivers/staging/comedi/drivers//ni_pcimio.c:1229:32: warning: incorrect type in assignment (different base types) drivers/staging/comedi/drivers//ni_pcimio.c:1229:32: expected restricted __be32 [usertype] serial_number drivers/staging/comedi/drivers//ni_pcimio.c:1229:32: got unsigned int Signed-off-by: Karthik Nayak <Karthik.188@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: comedi: dyna_pci10xx: usleep_range is preferred over udelaySaber Rezvani2017-02-141-4/+4
| | | | | | | | | | | | | | | | | | Fix the checkpatch.pl issue: CHECK: usleep_range is preferred over udelay Signed-off-by: Saber Rezvani <irsaber@gmail.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: comedi: s626: usleep_range is preferred over udelaySaber Rezvani2017-02-141-1/+1
| | | | | | | | | | | | | | | | | | Fix the checkpatch.pl issue: CHECK: usleep_range is preferred over udelay Signed-off-by: Saber Rezvani <irsaber@gmail.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: comedi: ni_pcidio.c: Spaces preferred around operatorsSaber Rezvani2017-02-141-20/+20
| | | | | | | | | | | | | | | | | | Fix the checkpatch.pl issue: CHECK: spaces preferred around that '|' (ctx:VxV) Signed-off-by: Saber Rezvani <irsaber@gmail.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: comedi: ni_pcidio: blank line issuesSaber Rezvani2017-02-141-0/+2
| | | | | | | | | | | | | | | | | | | | Fix the checkpatch.pl issue: CHECK: Please use a blank line after function/struct/union/enum declarations Signed-off-by: Saber Rezvani <irsaber@gmail.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: comedi: dmm32at: usleep_range is preferred over udelaySaber Rezvani2017-02-121-2/+2
| | | | | | | | | | | | | | | | | | Fix the checkpatch.pl issue: CHECK: usleep_range is preferred over udelay Signed-off-by: Saber Rezvani <irsaber@gmail.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: comedi: dt2801: usleep_range is preferred over udelaySaber Rezvani2017-02-121-2/+2
| | | | | | | | | | | | | | | | | | Fix the checkpatch.pl issue: CHECK: usleep_range is preferred over udelay Signed-off-by: Saber Rezvani <irsaber@gmail.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: comedi: dt2814: usleep_range is preferred over udelaySaber Rezvani2017-02-121-1/+1
| | | | | | | | | | | | | | | | | | Fix the checkpatch.pl issue: CHECK: usleep_range is preferred over udelay Signed-off-by: Saber Rezvani <irsaber@gmail.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: comedi: dt2815: usleep_range is preferred over udelaySaber Rezvani2017-02-121-1/+1
| | | | | | | | | | | | | | | | | | Fix the checkpatch.pl issue: CHECK: usleep_range is preferred over udelay Signed-off-by: Saber Rezvani <irsaber@gmail.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: comedi: ni_at_a2150: usleep_range is preferred over udelaySaber Rezvani2017-02-121-1/+1
| | | | | | | | | | | | | | | | | | Fix the checkpatch.pl issue: CHECK: usleep_range is preferred over udelay Signed-off-by: Saber Rezvani <irsaber@gmail.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: comedi: ni_pcimio: Support more PXI cardsIan Abbott2017-01-192-14/+167
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for NI PXI-6220, PXI-6221, PXI-6229, PXI-6250, PXI-6254, PXI-6259, PXIe-6259, PXI-6280, PXI-6284, and PXI-6289 boards, treating them the same as the correspondingly numbered PCI and PCIe boards (apart from having different Comedi board name strings). The same has previously been done for other PXI boards supported by the driver. The PCI device IDs for the newly supported boards come from the "nixswv.inf" file in National Instrument's Windows drivers. Also, sort `ni_pcimio_pci_table[]` by PCI device ID. It is mostly sorted already, so only the entries for PXI-6251 and PXIe-6251 need moving. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: comedi: ni_660x: Support PCI-6224Ian Abbott2017-01-192-3/+9
| | | | | | | | | | | | | | | | | | | | | | Add support for the NI PCI-6224 board, assuming it behaves like the NI PXI-6224 board at the register level. The PCI device ID comes from the "nitiowv.inf" file in National Instrument's Windows drivers. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * Staging: comedi: comedi_fops: Remove unused stat.h headerCheah Kok Cheong2017-01-101-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | Unused after commit 6e3029397698 ("staging: comedi: comedi_fops: coding style fixes") - Fixed coding style in comedi_fops.c Symbolic to octal permission. Anyway it's included in module.h Signed-off-by: Cheah Kok Cheong <thrust73@gmail.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * Staging: comedi: comedi_fops: Remove unused vmalloc.h headerCheah Kok Cheong2017-01-101-1/+0
| | | | | | | | | | | | | | | | | | Unused after commit d18431325be0 ("staging: comedi: deprecate loading firmware with comedi_config"). Signed-off-by: Cheah Kok Cheong <thrust73@gmail.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * Staging: comedi: comedi_fops: Remove redundant init.h headerCheah Kok Cheong2017-01-101-1/+0
| | | | | | | | | | | | | | | | | | | | After commit 0fd972a7d91d ("module: relocate module_init from init.h to module.h"), including module.h will do and init.h is also thrown in. Signed-off-by: Cheah Kok Cheong <thrust73@gmail.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * Staging: comedi: comedi_fops: Remove unused kmod.h headerCheah Kok Cheong2017-01-101-1/+0
| | | | | | | | | | | | | | | | | | | | | | Unused after commit f30f2c2d417b ("staging: comedi: remove check for CONFIG_KMOD"). Anyway it's included in module.h Signed-off-by: Cheah Kok Cheong <thrust73@gmail.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: comedi: daqboard2000: use pci_id_table 'driver_data'Ian Abbott2017-01-101-30/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The driver's COMEDI "auto-attach" handler `db2k_auto_attach()` calls `db2k_find_boardinfo()` to find an element of our board information array `db2k_boardtypes[]` that matches the probed PCI device. The driver's PCI device table matches several boards in the DaqBoard/2000 series that match a single PCI vendor and device ID combination. `db2k_find_boardinfo()` uses the probed PCI device's subvendor and subdevice IDs to find the matching board information, returning `NULL` for no match. Change the driver's PCI device table `db2k_pci_table[]` to match supported PCI vendor, device, subvendor and subdevice IDs, and set the `.driver_data` member of each element to the index of the matching element of `db2k_boardtypes[]`. That index gets passed through to the COMEDI auto-attach handler `db2k_auto_attach()`. Use it to index directly into `db2k_boardtypes[]` instead of calling `db2k_find_boardinfo()` to find the match. Use array index designators in the initializer of `db2k_boardtypes[]`. Use enumerated constants defined by new type `enum db2k_boardids` to name the board type indices. The `id` member of `struct db2k_boardtype` is no longer used, so remove it. Also remove the subdevice ID macros `DB2K_SUBSYSTEM_IDS2` and `DB2K_SUBSYSTEM_IDS4` as the subdevice IDs are now specified as numbers in the PCI device table. Remove `db2k_find_boardinfo()` as it is no longer used. 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>
| * staging: comedi: daqboard2000: change COMEDI device namesIan Abbott2017-01-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | The COMEDI device name strings are currently set to "ids2" for the DaqBoard/2000, and to "ids4" for the DaqBoard/2001. Change them to "daqboard2000" and "daqboard2001" respectively. (The COMEDI driver name string is also "daqboard2000".) 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>
| * staging: comedi: daqboard2000: support 4 AO channelsIan Abbott2017-01-101-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The driver supports DaqBoard/2000 and DaqBoard/2001. DaqBoard/2000 has 2 AO channels, but DaqBoard/2001 has 4 AO channels. The driver currently only supports 2 AO channels, but supporting 4 channels is just a case of setting the `n_chan` member of the COMEDI subdevice to 4 instead of 2. Add a new boolean flag member `has_2_ao` to `struct db2k_boardtype` to be set to `true` if the board only has 2 AO channels. Set this to `true` in the element of `db2k_boardtypes[]` that corresponds to the DaqBoard/2000. Use it in `db2k_auto_attach()` to initialize the number of AO channels to 2 or 4, as appropriate. 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>
| * staging: comedi: daqboard2000: use designated initializersIan Abbott2017-01-101-2/+8
| | | | | | | | | | | | | | | | | | | | Replace the undesignated initializers for each element of `db2k_boardtypes[]` with an equivalent designated initializer for ease of future maintenance. 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>
| * staging: comedi: daqboard2000: use shorter, consistent prefixIan Abbott2017-01-101-114/+100
| | | | | | | | | | | | | | | | | | | | Use a consistent prefix of `db2k_` or `DB2K_` for identifiers. The existing prefixes `DAQBOARD2000_` and `daqboard2000_` are a bit on the lengthy side. 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>
| * staging: comedi: daqboard2000: remove unused 'card' memberIan Abbott2017-01-101-3/+0
| | | | | | | | | | | | | | | | | | The `card` member of `struct daqboard2000_private` and the enumerated constant `card_daqboard_2000` are not used. Remove 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>
| * staging: comedi: daqboard2000: check CPLD status before writing firmware dataIan Abbott2017-01-101-7/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to an old GPL'ed driver at <ftp://ftp.mccdaq.com/downloads/iotech_software/DaqBoard_1000_2000_Series/Linux_driver_kernelv2.4.x/>, The CPLD status register can be checked to make sure that it is ready to accept the next 16-bit word of FPGA firmware data, but that doesn't work on older versions of the CPLD, where a simple delay should be used between successive writes. The current version of the Comedi driver just uses a delay between successive writes. Change it to check for the newer CPLD in the `daqboard2000_load_firmware()`, and change the firmware word writing function `daqboard2000_write_cpld()` to wait for the status bit (`DB2K_CPLD_STATUS_TXREADY`, previously called `DB2K_CPLD_TXDONE`) to be set for newer CPLD, or just delay for older CPLD. Return an error if it times out waiting for the status bit. The wait for the `DB2K_CPLD_STATUS_TXREADY` status bit to be set is performed by new function `daqboard2000_wait_cpld_txready()`, which returns 0 if the status bit is set within 100 microseconds, or `-ETIMEDOUT` if not. 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>
| * staging: comedi: daqboard2000: check result of FPGA programmingIan Abbott2017-01-101-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to an old, GPL'ed Linux driver at <ftp://ftp.mccdaq.com/downloads/iotech_software/DaqBoard_1000_2000_Series/Linux_driver_kernelv2.4.x/>, after programming the FPGA, the General Purpose Input (USERI) of the PLX PCI-9080 should go high shortly after a valid FPGA bitstream has been loaded. Add a new function `daqboard2000_wait_fpga_programmed()` to wait for that, performing up to 200 checks over a 20 ms period (this is loosely based on `pollFPGADone()` in the above-mentioned old driver). Return 0 if the FPGA appears to have loaded successfully, or `-ETIMEDOUT` if it runs out of checks. Call it from the firmware loading callback `daqboard2000_load_firmware()` after writing the firmware to the FPGA to check it is programmed successfully. 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>
| * staging: comedi: daqboard2000: change daqboard2000_write_cpld() return valueIan Abbott2017-01-101-5/+4
| | | | | | | | | | | | | | | | | | `daqboard2000_write_cpld()` currently returns 1 on success, or 0 on failure. Change it to return 0 on success, or `-EIO` on failure. 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>
| * staging: comedi: daqboard2000: replace daqboard2000_poll_cpld()Ian Abbott2017-01-101-15/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `daqboard2000_poll_cpld()` waits for a specified status bit in the CPLD status register to be set, giving up after 50 tries over a period of about 5 milliseconds. It returns 1 if the status bit is set, otherwise 0. It is only ever called to check the "INIT" status bit. Replace it with new function `daqboard2000_wait_cpld_init()`, which returns 0 if the "INIT" status bit becomes set within 50 tries, or `-ETIMEDOUT` if not set within 50 tries. The firmware loading callback `daqboard2000_load_firmware()` may return the error result from `daqboard2000_wait_cpld_init()` if it has used up all its firmware loading attempts and that was the last error. 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>
| * staging: comedi: daqboard2000: check firmware lengthIan Abbott2017-01-101-5/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Firmware files for DAQBoard/2000 have a header, which is skipped, followed by a sequence of FPGA configuration bytes to be programmed in pairs. The FPGA configuration bytes start with the sequence 0xff, 0x20. Make the firmware loading callback function `daqboard2000_load_firmware()` return an error `-EINVAL` if the FPGA start sequence is not found, or the remaining length is not a multiple of 2. The firmware loading callback tries to program the FPGA up to 3 times until it succeeds or it has tried too many times. Currently, it searches for the FPGA start sequence in the firmware data each time through the retry loop. Change it to adjust the start position and length before entering the loop. 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>
| * staging: comedi: daqboard2000: use type 'u16' for CPLD data and statusIan Abbott2017-01-101-4/+4
| | | | | | | | | | | | | | | | | | | | The CPLD status and data registers used to load firmware are 16 bits wide. Use the type `u16` to represent data and status values instead of `int`. 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>
| * staging: comedi: daqboard2000: define macros for CPLD registersIan Abbott2017-01-101-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | The Daqboard/2000 uses a write-only data register and a read-only status register in a pre-programmed CPLD device to program the main firmware on the board. Both registers are at offset 0x1000 from PCI BAR 2. Define macros for the register offsets. Rename the existing macros for the status register values for consistency. (Two status bits are defined, but the driver code only seems to use one of 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>
| * staging: comedi: daqboard2000: use macros from "plx9080.h"Ian Abbott2017-01-101-24/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Daqboard/2000 uses a PLX PCI-9080 chip to interface with the PCI bus. The "daqboard2000" driver uses the PCI-9080 "CNTRL" register to perform various tasks, but defines its own macros for the register values. Use the macros from "plx9080.h" instead. The various functions that change the CNTRL register just wiggle individual bits up and down, but they ignore the current register value - the old macros defined the full value to be written to the register. Change them to read and modify the register value. Also remove a read of the CNTRL register in `daqboard2000_auto_attach()` where the value is just thrown away, as it seems to serve no purpose there (such as flushing PCI writes). 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>
| * Staging: comedi: proc: Warn if unable to create proc entryCheah Kok Cheong2017-01-031-1/+2
| | | | | | | | | | | | | | | | | | | | The proc entry is not essential for the comedi system as evident by the support for !CONFIG_PROC_FS. So for failure to create, just warn and continue loading. Signed-off-by: Cheah Kok Cheong <thrust73@gmail.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * Staging: comedi: proc: Add module ownerCheah Kok Cheong2017-01-031-0/+1
| | | | | | | | | | | | | | | | | | Since this is a loadable kernel module, add module ownership to follow LKM semantics. Signed-off-by: Cheah Kok Cheong <thrust73@gmail.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * Staging: comedi: proc: Add __init prefixCheah Kok Cheong2017-01-031-1/+1
| | | | | | | | | | | | | | | | | | Add __init prefix so that symbol will be discarded after module loading. Signed-off-by: Cheah Kok Cheong <thrust73@gmail.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * Staging: comedi: proc: Change file permission to read onlyCheah Kok Cheong2017-01-031-1/+1
| | | | | | | | | | | | | | | | | | | | As there's no write operation, change to read only. Was inadvertantly switched to 0644 in commit 1f817b86d5e6 ("comedi: Don't use create_proc_read_entry()"). Signed-off-by: Cheah Kok Cheong <thrust73@gmail.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * Staging: comedi: comedi_fops: Avoid orphaned proc entryCheah Kok Cheong2017-01-031-3/+3
| | | | | | | | | | | | | | | | | | Move comedi_proc_init to the end to avoid orphaned proc entry if module loading failed. Signed-off-by: Cheah Kok Cheong <thrust73@gmail.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * Staging: comedi: comedidev.h: Drop old style zero-length arrayCheah Kok Cheong2017-01-031-7/+1
| | | | | | | | | | | | | | | | | | According to Documentation/Changes, the minimum gcc version required to compile the kernel is 3.2 (this is probably outdated too). Signed-off-by: Cheah Kok Cheong <thrust73@gmail.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: comedi: ni_670x: using the BIT(x) macroSaber Rezvani2017-01-031-1/+1
| | | | | | | | | | | | | | | | | | | | Fix the checkpatch.pl issue: CHECK: Prefer using the BIT macro replacing bit shifting on 1 with the BIT(x) macro. Signed-off-by: Saber Rezvani <irsaber@gmail.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: comedi: ni_at_ao: using the BIT(x) macroSaber Rezvani2017-01-031-31/+31
| | | | | | | | | | | | | | | | | | | | Fix the checkpatch.pl issue: CHECK: Prefer using the BIT macro replacing bit shifting on 1 with the BIT(x) macro. Signed-off-by: Saber Rezvani <irsaber@gmail.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: comedi: cb_pcidas64: use preferred kernel type u32Saber Rezvani2017-01-031-19/+19
| | | | | | | | | | | | | | | | | | Fix the checkpatch.pl issue: CHECK: Prefer kernel type 'u32' over 'uint32_t' Signed-off-by: Saber Rezvani <irsaber@gmail.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: comedi: cb_pcidas64: use preferred kernel type u16Saber Rezvani2017-01-031-29/+29
| | | | | | | | | | | | | | | | | | Fix the checkpatch.pl issue: CHECK: Prefer kernel type 'u16' over 'uint16_t' Signed-off-by: Saber Rezvani <irsaber@gmail.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: comedi: cb_pcidas64: use preferred kernel type u8Saber Rezvani2017-01-031-23/+23
| | | | | | | | | | | | | | | | | | Fix the checkpatch.pl issue: CHECK: Prefer kernel type 'u8' over 'uint8_t' Signed-off-by: Saber Rezvani <irsaber@gmail.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * staging: comedi: comedidev.h: add identifiers to function parametersIan Abbott2017-01-031-22/+25
| | | | | | | | | | | | | | | | | | Fix checkpatch.pl warnings of the form "function definition argument 'foo' should also have an identifier name". 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>
| * staging: comedi: comedi_usb.h: add identifiers to function parametersIan Abbott2017-01-031-7/+9
| | | | | | | | | | | | | | | | | | Fix checkpatch.pl warnings of the form "function definition argument 'foo' should also have an identifier name". 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>
| * staging: comedi: comedi_pcmcia.[ch]: add identifiers to function parametersIan Abbott2017-01-032-11/+14
| | | | | | | | | | | | | | | | | | Fix checkpatch.pl warnings of the form "function definition argument 'foo' should also have an identifier name". 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>
| * staging: comedi: comedi_internal.h: add identifiers to function parametersIan Abbott2017-01-031-4/+5
| | | | | | | | | | | | | | | | | | Fix checkpatch.pl warnings of the form "function definition argument 'foo' should also have an identifier name". 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>
| * staging: comedi: comedi_compat32.h: add identifiers to function parametersIan Abbott2017-01-031-1/+2
| | | | | | | | | | | | | | | | | | Fix checkpatch.pl warnings of the form "function definition argument 'foo' should also have an identifier name". 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>
OpenPOWER on IntegriCloud