summaryrefslogtreecommitdiff
path: root/drivers/staging/comedi
AgeCommit message (Collapse)Author
2017-04-25staging: comedi: addi_apci_3xxx: check return valuePan Bian
Function pci_ioremap_bar() will return a NULL pointer if there is no enough memory. However, in function apci3xxx_auto_attach(), the return value of function pci_ioremap_bar() is not validated. This may result in NULL dereference in following access to dev->mmio. This patch fixes the bug. Signed-off-by: Pan Bian <bianpan2016@163.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-04-25staging: comedi: support vm_access_process for mmap'd bufferIan Abbott
If a process that has mmap'd a COMEDI buffer is being run under a debugger such as GDB, the buffer contents are inaccessible from the debugger. Support the `access()` VM operation to allow the buffer contents to be accessed by another process. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-04-08staging: comedi: drivers: s626.c - fixed checkpatch issue about data typeAndrea della Porta
staging: comedi: drivers: s626.c - fixed the following checkpatch issue: CHECK: Prefer kernel type 's16' over 'int16_t' #1939: FILE: drivers/staging/comedi/drivers/s626.c:1939: + int16_t dacdata = (int16_t)data[i]; Signed-off-by: Andrea della Porta <sfaragnaus@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-04-08staging: comedi: amplc_pci224: convert CLK_CONFIG() macro to functionIan Abbott
Convert the `CLK_CLKFIG(chan, src)` macro to a static function `pci224_clk_config(chan, src)`. This is consistent with an earlier change to convert `GAT_CONFIG(chan, src)` to a static function. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-04-08staging: comedi: amplc_pci224: remove 'inline' from pci224_gat_config()Ian Abbott
Let the compiler figure out whether `pci224_gat_confip()` should be inlined by itself. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-04-08staging: comedi: amplc_pci230: convert CLK_CONFIG() macro to functionIan Abbott
Convert the `CLK_CONFIG(chan, src)` macro to a static function `pci230_clk_config(chan, src)`. This is consistent with an earlier change to convert `GAT_CONFIG(chan, src)` to a static function. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-04-08staging: comedi: amplc_pci230: remove 'inline' from pci230_gat_config()Ian Abbott
Let the compiler figure out whether `pci230_gat_config()` should be inlined by itself. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-04-08staging: comedi: labpc: fix isadma dependencyArnd Bergmann
When COMEDI_NI_LABPC is built-in and COMEDI_NI_LABPC_ISA is a loadable module, thhe ISA DMA code is not reachable by the common module, causing a link error: drivers/staging/built-in.o: In function `labpc_interrupt': ni_labpc_common.c:(.text+0x1d178): undefined reference to `labpc_handle_dma_status' ni_labpc_common.c:(.text+0x1d1cb): undefined reference to `labpc_drain_dma' drivers/staging/built-in.o: In function `labpc_ai_cmd': ni_labpc_common.c:(.text+0x1d8ad): undefined reference to `labpc_setup_dma' This changes the definition of COMEDI_NI_LABPC_ISADMA so that it will also be builtin for that case. This looks like a rather old bug, but I have never seen this in randconfig testing until today. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-14staging: comedi: amplc_pci224: Convert macro GAT_CONFIG to static inline ↵simran singhal
function Convert macro GAT_CONFIG to static inline function as static inline functions are preferred over macros. This change is possible since the arguments at all call sites have the same type. The uses were updated with Coccinelle: @r1@ expression dev,reg,chan,src; @@ -GAT_CONFIG(chan, src) +pci224_gat_config(chan, src) Also, the comment describing the macro has been removed. Signed-off-by: simran singhal <singhalsimran0@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-14staging: comedi: Compress return logic into one line.Varsha Rao
Simplify function return by merging assignment and return into a single line. The following coccinelle script is used to fix this issue. @@ expression e; local idexpression ret; @@ -ret = e; -return ret; +return e; Signed-off-by: Varsha Rao <rvarsha016@gmail.com> Acked-by: Julia Lawall <julia.lawall@lip6.fr> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-12staging: comedi: jr3_pci: change module descriptionIan Abbott
Change the MODULE_DESCRIPTION string from the generic "Comedi low-level driver" to the more specific "Comedi driver for JR3/PCI force sensor board". Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-12staging: comedi: jr3_pci: fix initial range[8] max valueIan Abbott
`jr3_pci_alloc_spriv()` initializes `spriv->range[8]` to use a maximum value of 65536, but that will be overwritten with 65535 at a later time by `jr3_pci_poll_subdevice()` once the "set full scales" command is complete. The initial setting looks like a mistake. This range is only associated with a couple of dummy channels (channels 56 and 57) to read back the model number and serial number, so no user code should be attempting to convert those numbers to physical units. Just change the initial value to 65535 to match the final value. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-12staging: comedi: jr3_pci: check PCI BAR 0 sizeIan Abbott
The various supported boards have different numbers of subdevices from 1 to 4. Each subdevice needs a block of registers in PCI BAR 0. Check the region is large enough for the required number of subdevices. Return an error from `jr3_pci_auto_attach()` if it is too small. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-12staging: comedi: jr3_pci: check sizes at compile timeIan Abbott
The driver currently checks the size of `struct jr3_sensor` is correct when a device is attached, returning an error if it is wrong. Replace that with a compile-time check. We don't care too much about the size of `struct jr3_sensor` as it is embedded in the larger `struct jr3_block` and is followed by a lot of padding. We should care more that the size of `struct jr3_block` is correct, as it describes the overall register layout of a block, and there is an array of such blocks (one per subdevice). Check its size at compile-time using the `BUILD_BUG_ON()` macro. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-12staging: comedi: jr3_pci: omit pointless debug infoIan Abbott
`jr3_pci_open()` outputs several debug log messages containing serial numbers of the sensors (one per subdevice) along with a pointer to the subdevice private data structure. The latter is of no use, so reformat the debug log to omit it. `jr3_pci_alloc_spriv()` outputs a debug log message containing more useless information about the remapped base address of the board registers, the sensor registers, and the difference between them. Get rid of it. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-12staging: comedi: jr3_pci: use struct jr3_block instead of jr3_tIan Abbott
`struct jr3_t` contains a single array member `block` of member type `struct jr3_block`. Rather than using pointers to `struct jr3_t`, just use pointers to `struct jr3_block` instead and treat it as an array. Replace the local variables `struct jr3_t __iomem *iobase` with `struct jr3_block __iomem *block`. Remove the definition of `struct jr3_t` as it is no longer needed. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-12staging: comedi: jr3_pci: separate out block typeIan Abbott
`struct jr3_t` contains a single array member `block` of a tag-less `struct` type. Rename the tag-less `struct` type to `struct jr3_block` and move its definition outside of `struct jr3_t`. This will allow us to use pointers of this type. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-12staging: comedi: jr3_pci: rename 'channel' to 'block'Ian Abbott
The term "channel" is overloaded in this driver. Rename the `channel` member of `struct jr3_t` to `block` to reduce confusion. `block` is an array of an anonymous `struct` type, with each element covering the registers for one subdevice. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-12staging: comedi: jr3_pci: rename data to sensorIan Abbott
Rename the `channel[x].data` member of `struct jr3_t` to `channel[x].sensor` to match its type `struct jr3_sensor`. Also rename local variable `ch0data` in `jr3_pci_show_copyright()` to `sensor0` for consistency. It points to the `struct jr3_sensor` embedded in the registers for "channel" 0. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-12staging: comedi: jr3_pci: rename channel to sensorIan Abbott
The driver overloads the term "channel" a lot. To help reduce confusion, rename the `channel` member of `struct jr3_pci_subdev_private` to `sensor` as it points to a `struct jr3_sensor`. Also rename the various function parameters and local variables called `channel` that point to a `struct jr3_sensor` to `sensor`. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-12staging: comedi: jr3_pci: rename struct jr3_channel to jr3_sensorIan Abbott
The driver overloads the term "channel" a lot. To help reduce confusion, rename `struct jr3_channel` to `struct jr3_sensor`. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-09staging: comedi: Remove useless cast.Varsha Rao
Variable dac_data is already declared as of type u8. Again explicit type casting of dac_data to u8, is not required. Hence this patch removes it by using the following coccinelle script. @@ type T; T *ptr; T p; @@ ( - (T *)(&p) + &p | - (T *)ptr + ptr | - (T *)(ptr) + ptr | - (T)(p) + p ) Signed-off-by: Varsha Rao <rvarsha016@gmail.com> Acked-by: Julia Lawall <julia.lawall@lip6.fr> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-09staging: comedi: ni_atmio: make device_ids constIan Abbott
The `device_ids[]` passed to `MODULE_DEVICE_TABLE()` should be `const`. When the "ni_atmio" driver is built-in, gcc warns about `device_ids` being defined but ununsed. Make it `const`. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-09staging: comedi: allow it to be built-inIan Abbott
There is no particular reason why comedi has to be built as kernel modules. Remove the `depends on m` from the Kconfig file to allow it to be built-in. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-09Staging: comedi: comedi_fops: Change comedi_num_legacy_minors typeCheah Kok Cheong
Change to unsigned to allow removal of negative value check in init section. Use smaller data type since the max possible value currently is 48. 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>
2017-03-07staging: comedi: Replace "is is" with "is"simran singhal
This patch replace "is is " with "is". The replacement couldn't be automated because sometimes the first "is" was meant to be another word. Signed-off-by: simran singhal <singhalsimran0@gmail.com> Acked-by: Julia Lawall <julia.lawall@lip6.fr> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-06Staging: comedi: drivers: comedi_test: Avoid multiple line dereferenceCheah Kok Cheong
Fix checkpatch warning "Avoid multiple line dereference" using a pointer variable to avoid line wrap. 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>
2017-03-06staging: comedi: Using macro DIV_ROUND_UPsimran singhal
The macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) /(d)). It clarifies the divisor calculations. This occurence was detected using the coccinelle script: @@ expression e1; expression e2; @@ ( - ((e1) + e2 - 1) / (e2) + DIV_ROUND_UP(e1,e2) | - ((e1) + (e2 - 1)) / (e2) + DIV_ROUND_UP(e1,e2) ) Signed-off-by: simran singhal <singhalsimran0@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-06staging: comedi: s626: Kernel doc format commentsTobin C. Harding
Checkpatch emits WARNING: Block comments use a trailing */ on a separate line. Offending comments are commenting variables within the main data structure of s626 driver. We can move these comments to kernel doc format with the benefit of clearing the warning and improving the documentation for the driver. Remove comments on structure members. Add original comments to the head of the structure definition in kernel doc format. Signed-off-by: Tobin C. Harding <me@tobin.cc> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-06staging: comedi: jr3_pci: replace devpriv->iobase with dev->mmioIan Abbott
The "jr3_pci" driver currently uses the `iobase` member of its private device data `struct jr3_pci_dev_private` to store a pointer to its ioremapped register region. Use the `mmio` member of the `struct comedi_device` to store this instead, and remove the `iobase` member. The `iobase` member was of type `struct jr3_t __iomem *`, with the board's complicated register layout described by `struct jr3_t`. The `mmio` member is a generic `void __iomem *`, so its value needs converting to a `struct jr3_t __iomem *` for our purposes. Change the clean-up in `jr3_pci_detach()` to call `comedi_pci_detach()` instead of `comedi_pci_disable()`, as that will iounmap `dev->mmio` for us. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-06staging: comedi: jr3_pci: pass transform by referenceIan Abbott
Local function `set_transforms` has a parameter of type `struct jr3_pci_transform`. This has a size 32 bytes, which is quite large for passing around in a function call. Change it to use type `const struct jr3_pci_transform *`. (In practice, it is probably inlined by the compiler anyway, but doing this seems to save a few bytes.) Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-06staging: comedi: jr3_pci: re-work struct jr3_pci_subdev_private rangeIan Abbott
The `range` member of `struct jr3_pci_subdev_private` is an array of a tag-less `struct` type whose layout is similar to `struct comedi_lrange`. Both `struct` types end with a member also called `range`. In the case of tag-less `struct` type, it is a single `struct comedi_krange`. In the case of `struct comedi_lrange`, it is a flexible array of `struct comedi_krange`. Elements of the `range` array member in `struct jr3_pci_subdev_private` are pointed to by elements of the `range_table_list` array member, which are of type `const struct comedi_lrange *`. This requires some dodgy type casting. To avoid the dodgy type casting, change the element type of the `range` member of `struct jr3_pci_subdev_private` to be a new type `union jr3_pci_single_range`. This contains a member `l` of type `struct comedi_lrange`, and an array member `_reserved` that is large enough to encompass the `struct comedi_lrange` plus a single `struct comedi_krange`. It is the same size as the previous type. Accesses to `spriv->range[i].length` and `spriv->range[i].range` are replaced with `spriv->range[i].l.length` and `spriv->range[i].l.range[0]` respectively (where `spriv` is a `struct jr3_pci_subdev_private *`, and `i` is an array index). Type-casted pointers to `spriv->range[i]` are replaced with pointers to `spriv->range[i].l`, which do not require the type casts. Since we defined a new type, we can define local variables of the corresponding pointer type to shorten some lines of code. This is made use of in `jr3_pci_alloc_spriv()`. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-06staging: comedi: jr3_pci: separate out poll state enumIan Abbott
The type of the `state` member of `struct jr3_pci_subdev_private` is defined in-situ as an enumerated type without a tag. For aesthetic reasons, define the type as `enum jr3_pci_poll_state` outside the containing `struct`. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-06staging: comedi: jr3_pci: remove next_time_max memberIan Abbott
The `next_time_max` member of `struct jr3_pci_subdev_private` is assigned to, but never read. Remove it. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-06staging: comedi: jr3_pci: remove unneeded 'spriv' checksIan Abbott
If `jr3_pci_auto_attach()` returns with no error, we can now be sure that the COMEDI subdevice private data structures have been allocated. Remove the tests for a valid pointer to the private data structure in `jr3_pci_ai_insn_read()`, `jr3_pci_open()`, and `jr3_pci_poll_subdevice()`, since they will not be called if the pointer is invalid. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-06staging: comedi: jr3_pci: re-work firmware copyright displayIan Abbott
If debug messages are enabled, the card initialization done in `jr3_pci_auto_attach()` spits out 24 (0x18) debug messages to show the null-terminated copyright string embedded in the firmware, one character at a time, including the ASCII NUL characters at the end. Factor out the copyright display into a new function `jr3_pci_show_copyright()` and re-work it to copy the whole copyright string into a buffer, so that it can be shown with a single debug message. Incidentally, this also removes a checkpatch warning "Avoid multiple line dereference" in the original code. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-06staging: comedi: jr3_pci: struct comedi_lrange should normally be constIan Abbott
Fix three checkpatch warnings of the form: WARNING: struct comedi_lrange should normally be const Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-06staging: comedi: jr3_pci: Reset all DSPsIan Abbott
The various JR3 PCI models have from 1 to 4 DSPs, one per subdevice. Prior to loading the firmware to all the DSPs, the initialization code in `jr3_pci_auto_attach()` resets the first DSP. As far as I can tell, it should reset all of them. Change it to do so. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-06staging: comedi: jr3_pci: cope with jiffies wraparoundIan Abbott
The timer expiry routine `jr3_pci_poll_dev()` checks for expiry by checking whether the absolute value of `jiffies` (stored in local variable `now`) is greater than the expected expiry time in jiffy units. This will fail when `jiffies` wraps around. Also, it seems to make sense to handle the expiry one jiffy earlier than the current test. Use `time_after_eq()` to check for expiry. Cc: <stable@vger.kernel.org> # 3.15+ Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-06staging: comedi: jr3_pci: fix possible null pointer dereferenceIan Abbott
For some reason, the driver does not consider allocation of the subdevice private data to be a fatal error when attaching the COMEDI device. It tests the subdevice private data pointer for validity at certain points, but omits some crucial tests. In particular, `jr3_pci_auto_attach()` calls `jr3_pci_alloc_spriv()` to allocate and initialize the subdevice private data, but the same function subsequently dereferences the pointer to access the `next_time_min` and `next_time_max` members without checking it first. The other missing test is in the timer expiry routine `jr3_pci_poll_dev()`, but it will crash before it gets that far. Fix the bug by returning `-ENOMEM` from `jr3_pci_auto_attach()` as soon as one of the calls to `jr3_pci_alloc_spriv()` returns `NULL`. The COMEDI core will subsequently call `jr3_pci_detach()` to clean up. Cc: <stable@vger.kernel.org> # 3.15+ Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-02sched/headers: Prepare to move signal wakeup & sigpending methods from ↵Ingo Molnar
<linux/sched.h> into <linux/sched/signal.h> Fix up affected files that include this signal functionality via sched.h. Acked-by: Linus Torvalds <torvalds@linux-foundation.org> Cc: Mike Galbraith <efault@gmx.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-kernel@vger.kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-02-22Merge tag 'staging-4.11-rc1' of ↵Linus Torvalds
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 ...
2017-02-16Staging: comedi: drivers: comedi_test: Add auto-configuration capabilityCheah Kok Cheong
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>
2017-02-14staging: comedi: fixed multiple line dereferenceArtur Lorincz
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>
2017-02-14staging: comedi: made comedi_lrange struct constantArtur Lorincz
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>
2017-02-14staging: comedi: ni_pcimio: remove unused variable 'serial_number'Karthik Nayak
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>
2017-02-14staging: comedi: dyna_pci10xx: usleep_range is preferred over udelaySaber Rezvani
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>
2017-02-14staging: comedi: s626: usleep_range is preferred over udelaySaber Rezvani
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>
2017-02-14staging: comedi: ni_pcidio.c: Spaces preferred around operatorsSaber Rezvani
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>
2017-02-14staging: comedi: ni_pcidio: blank line issuesSaber Rezvani
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>