summaryrefslogtreecommitdiff
path: root/drivers/staging/comedi/comedi.h
AgeCommit message (Collapse)Author
2014-11-05staging: comedi: add ioctls to set per-file read and write subdeviceIan Abbott
Now that Comedi has the structures in place to support setting the current "read" and/or "write" subdevice on a per-file object basis, add new ioctls to set them. The newly chosen "read" ("write") subdevice needs to support "read" ("write") commands, and the file cannot be busy handling a "read" ("write") command on the previous subdevice (if any). 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>
2014-10-29staging: comedi: comedidev.h: don't expose COMEDI_CB_* defines to userspaceH Hartley Sweeten
The COMEDI_CB_* defines are the comedi_async "events" that the drivers set to let the core detect the state of running async commands. These "events" are only relevant to the kernel modules and should not be exposed to userspace in the comedi.h user API header. Move the defines to comedidev.h to avoid exposing them. For aesthetics, convert the defines to bit shifts to better indicate that they are bitmask values. Cleanup the documentation. 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-09-08staging: comedi: add CMDF_ROUND_... as synonyms for TRIG_ROUND_...Ian Abbott
The `TRIG_ROUND_...` macros are some of the values that can be OR-ed into the `flags` member of `struct comedi_cmd`. They may influence the rounding of sample timings during operation of the asynchronous command. The names are a bit of a left-over from earlier times. It would be better to use the names `CMDF_ROUND_...` to match various other command flags. Define `CMDF_ROUND_MASK`, `CMDF_ROUND_NEAREST`, `CMDF_ROUND_DOWN`, `CMDF_ROUND_UP` and `CMDF_ROUND_UP_NEXT` with the same numeric values as `TRIG_ROUND_MASK`, `TRIG_ROUND_NEAREST`, `TRIG_ROUND_DOWN`, `TRIG_ROUND_UP` and `TRIG_ROUND_UP_NEXT`, and redefine the `TRIG_ROUND_...` macros as synonyms of the `CMDF_ROUND_...` 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>
2014-09-08staging: comedi: add CMDF_BOGUS as synonym for TRIG_BOGUSIan Abbott
`TRIG_BOGUS` is one of the values that can be OR-ed into the `flags` member of `struct comedi_cmd`. It causes the comedi core to go through some of the motions of setting up an asynchronous command without actually setting it up. If all goes well, it causes the command set-up to fail with an `EAGAIN` error. The name `TRIG_BOGUS` is a bit of a left-over from earlier times. A better name would be `CMDF_BOGUS` to match various other command flags. Define `CMDF_BOGUS` with the same numeric value as the old `TRIG_BOGUS` and redefine `TRIG_BOGUS` as a synonym of 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>
2014-09-08staging: comedi: add CMDF_WAKE_EOS as synonym for TRIG_WAKE_EOSIan Abbott
`TRIG_WAKE_EOS` is one of the values that can be OR-ed into the `flags` member of `struct comedi_cmd`. It's intended action is tune the asynchronous command to interrupt at the end of every "scan". The name is a bit of a left-over from earlier times. A better name would be `CMDF_WAKE_EOS` to match various other command flags. Define `CMDF_WAKE_EOS` with the same numeric value as the old `TRIG_WAKE_EOS` and redefine `TRIG_WAKE_EOS` as a synonym of 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>
2014-07-18staging: comedi: comedi.h: checkpatch.pl --strict cleanupH Hartley Sweeten
Fix the checkpatch.pl --strict issues: CHECK: Please use a blank line after function/struct/union/enum declarations For aesthetics, convert the inline functions into simple macros. 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-07-16staging: comedi: removing not useful `else` after returnKinka Huang
Signed-off-by: Kinka Huang <kinkabrain@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-06-27staging: comedi: ke_counter: expose clock source options to user spaceH Hartley Sweeten
As pointed out by Ian Abbott, the INSN_CONFIG_SET_CLOCK_SRC options should be exposed in the user header comedi.h. 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>
2013-05-13staging: comedi: remove FSF address from boilerplate textH Hartley Sweeten
Addresses change... Remove the paragraph with the FSF address from all the comedi source files. Also, remove the paragraph about the finding the complete GPL in the COPYING file since it's unnecessary. 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>
2013-01-18staging: comedi: deprecate loading firmware with comedi_configH Hartley Sweeten
All the comedi drivers have been converted to use the request_firmware() hotplug interface. The COMEDI_DEVCONFIG ioctl support for passing the firmware blob as 'aux_data' is no longer required. Remove the feature and give the user a dev_warn message if it is attempted. 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>
2012-11-15staging: comedi: define operations for INSN_CONFIG_DIGITAL_TRIGIan Abbott
The 'addi_apci_1032' driver recently started supporting the `INSN_CONFIG_DIGITAL_TRIG` configuration instruction, but as no other drivers were using it before, there was no existing practice of how the instruction should look. Define the format to be something a bit more configurable. In particular, a subdevice might have more than one trigger requiring an ID and/or `COMEDI_EV_...` flags to disambiguate them, a trigger might have more than 32 inputs, and a trigger might need several `INSN_CONFIG_DIGITAL_TRIG` configuration instructions to configure completely (if there are more than 32 inputs or if it uses a combination of edge-triggered and level-triggered inputs). Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-24staging: comedi: comedi.h: add clock sources for amplc_dio200 timerIan Abbott
Add clock source constants for the timer subdevice of the PCIe cards supported by the "amplc_dio200" driver. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-24staging: comedi: comedi.h: extra clock and gate sources for amplc_dio200Ian Abbott
Add constants to "comedi.h" for the extra clock and gate sources allowed by the new PCIe cards supported by the "amplc_dio200" driver. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-19staging: comedi: comedi.h: remove __user tag from chanlistH Hartley Sweeten
The 'chanlist' is passed to the kernel from user space with the COMEDI_CMD and COMEDI_CMDTEST ioctls. The do_cmd_ioctl() and do_cmdtest_ioctl() functions in comedi_fops.c copy this data to/from user space to kernel space correctly. Unfortunately, this data is copied back into a struct comedi_cmd so when the cmd is passed down to the drivers they still see the pointer as __user data. This results is a number of sparse errors such as: warning: dereference of noderef expression warning: incorrect type in argument 2 (different address spaces) expected void const *<noident> got unsigned int [noderef] <asn:1>*chanlist warning: incorrect type in argument 3 (different address spaces) expected unsigned int *chanlist got unsigned int [noderef] <asn:1>*chanlist warning: incorrect type in assignment (different address spaces) expected unsigned int *ai_chanlist got unsigned int [noderef] <asn:1>*chanlist The two functions in comedi_fops are the only ones that need the __user tag. Remove the tag so that all the drivers see the chanlist pointer in the correct address space. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Acked-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-19staging: comedi: comedi.h: remove the extra indentsH Hartley Sweeten
The extra indents in this file cause git diff to not know the section where changes are being made. This results in diff outputs like: @@ -365,7 +365,10 @@ instead of the more informational: @@ -365,6 +365,7 @@ struct comedi_cmd { Remove all the extra indents. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Acked-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-04-18staging: comedi: COMEDI_CB_EOA is also used to report end-of-output.W. Trevor King
Update comments in comedi.h accordingly. Signed-off-by: W. Trevor King <wking@drexel.edu> Acked-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2011-06-28staging: comedi: fixed a declaration coding style issueRalf Thielow
Fixed a declaration coding style issue. Signed-off-by: Ralf Thielow <ralf.thielow@googlemail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-14Staging: comedi: Fixed more long line lengths in comedi.hMark Rankilor
This patches fixes some long line lengths in comedi.h from checkpatch.pl Signed-off-by: Mark Rankilor <reodge@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-14Staging: comedi: Fixed long line lengths in comedi.hMark Rankilor
This patches fixes long line lengths in comedi.h that were picked up by checkpatch.pl Signed-off-by: Mark Rankilor <reodge@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11Staging: comedi: Fixed long line lengths in comedi.hMark
This patch fixes quite a few long line lengths in comedi.h as reported by checkpatch.pl Signed-off-by: Mark Rankilor <reodge@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11Staging: comedi: Fixed long line lengths in comedi.hMark Rankilor
This patches fixes some of the long line lengths that checkpatch.pl was complaining about in comedi.h Signed-off-by: Mark Rankilor <reodge@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11Staging: comedi: mark a variable as __userGreg Kroah-Hartman
This is really a userspace pointer, so mark it as such. Cc: Ian Abbott <abbotti@mev.co.uk> Cc: Frank Mori Hess <fmhess@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11Staging: comedi: __user markup on comedi_fops.cGreg Kroah-Hartman
Hm, what a mess. I tried to properly mark up the __user pointers, but for some of these structures, we use them both in the kernel, and across the user/kernel boundry, which isn't ok. So we end up generating a few new sparse warnings in places we were not before, but the large majority of things are now properly tagged in the fops file. The whole ioctl interface needs to be carefully looked at in the future. Cc: Ian Abbott <abbotti@mev.co.uk> Cc: Frank Mori Hess <fmhess@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11Staging: comedi: range.c: properly mark up __user pointersGreg Kroah-Hartman
This is the start of cleaning up the user pointer markings in the comedi core. Cc: Ian Abbott <abbotti@mev.co.uk> Cc: Frank Mori Hess <fmhess@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11Staging: comedi: fix coding style issue in comedi.hGorskin Ilya
This is a patch to the comedi.h files that fixes up errors found by the checkpatch.pl tool Signed-off-by: Gorskin Ilya <revent82@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-23Staging: comedi: removed "depricated" from COMEDI_CB_BLOCKBernd Porr
The flag COMEDI_CB_BLOCK was marked as "depricated in the header file". However, this flag is important to wake up the data-reader (and writer) after new data has arrived from(for) the DAQ card. Signed-off-by: Bernd Porr <berndporr@f2s.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-12-11Staging: comedi: remove __cplusplus checkShawn Bohrer
c++ isn't supported in the kernel. Signed-off-by: Shawn Bohrer <shawn.bohrer@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15Staging: Comedi: Lindent changes to comdi driver in staging treeMithlesh Thukral
Lindent changes to comdi driver in staging tree. This patch is followed by the checkpatch.pl error fixes. Did not make them part of this patch as the patch size is already huge. Signed-off-by: Mithlesh Thukral <mithlesh@linsyssoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-06-19Staging: comedi: remove some RT code that lingeredGreg Kroah-Hartman
This removes some pieces of RT code that was part of the main code paths. Cc: Ian Abbott <abbotti@mev.co.uk> Cc: Frank Mori Hess <fmhess@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03Staging: comedi: Remove comedi_bufinfo typedefBill Pemberton
Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03Staging: comedi: Remove comedi_bufconfig typedefBill Pemberton
Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03Staging: comedi: Remove comedi_krange typedefBill Pemberton
Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03Staging: comedi: Remove comedi_rangeinfo typedefBill Pemberton
Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03Staging: comedi: Remove comedi_devconfig typedefBill Pemberton
Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03Staging: comedi: Remove comedi_devinfo typedefBill Pemberton
Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03Staging: comedi: Remove comedi_subdinfo typedefBill Pemberton
Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03Staging: comedi: Remove comedi_chaninfo typedefBill Pemberton
Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03Staging: comedi: Remove comedi_insnlist typedefBill Pemberton
Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03Staging: comedi: Remove comedi_insn typedefBill Pemberton
Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03Staging: comedi: Remove comedi_cmd typedefBill Pemberton
Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03Staging: comedi: Remove comedi_trig typedefBill Pemberton
Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03Staging: comedi: Remove lsampl_t and sampl_t typedefsBill Pemberton
Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-04-03Staging: comedi: Use explicit value for enumerated constant ↵Ian Abbott
INSN_CONFIG_GET_HARDWARE_BUFFER_SIZE. Cc: Frank Mori Hess <fmhess@users.sourceforge.net> Cc: David Schleef <ds@schleef.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-01-06Staging: comedi: fix up a lot of checkpatch.pl warningsGreg Kroah-Hartman
Only clean up some of the easier ones in the .h files Cc: Ian Abbott <abbotti@mev.co.uk> Cc: Frank Mori Hess <fmhess@users.sourceforge.net> Cc: David Schleef <ds@schleef.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-01-06Staging: add comedi coreDavid Schleef
This adds the Comedi core to the staging tree. This is a data acquision infrastructure for Linux, providing a common interface for these types of drivers. Taken directly from the comedi git tree, with only minor tweaks by Greg to get it to build properly within the kernel tree. From: David Schleef <ds@schleef.org> Cc: Ian Abbott <abbotti@mev.co.uk> Cc: Shawn Bohrer <shawn.bohrer@gmail.com> Signed-off-by: Frank Mori Hess <fmhess@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>