Implement support for the USB488 defined READ_STATUS_BYTE ioctl (1/5)
and SRQ notifications with fasync (2/5) and poll/select (3/5) in order
to be able to synchronize with variable duration instrument
operations.

Add convenience ioctl to return all device capabilities (4/5)

Add ioctls for other USB488 requests: REN_CONTROL, GOTO_LOCAL and
LOCAL_LOCKOUT. (5/5)

 PATCH Changelog:
    v7 - Correct command direction and add data structure for
           USBTMC488_IOCTL_GET_CAPS
       - Cast arg to (void __user *) earlier in ioctl call chain
       - Correct type to __u8 for ioctl args to match unsigned char
         in userspace, 3 places: usb488_caps, stb and val
         
    v6 - Remove more excess newlines
         Rearrange declaration blocks aesthetically
         Remove __func__ parameter from dev_xxx calls
         Simplify tests for interrupt-in notifications
         Propagate return code from usb_submit_urb()
         
    v5 - Remove excess newlines and parens
       - Move dev variable initialisations to declaration
       - Add comment on interrupt btag wrap
       - simplify test in usbtmc_free_int()
       
    v4 - Remove excess newlines and parens
       - simplify some expressions

    v3 - Split into multiple patches as per gregkh request

    V2 - Fix V1 bug: not waking sleepers on disconnect.
       - Correct sparse warnings.

    V1 - Original patch

 Testing:
    All functions tested ok on an USBTMC-USB488 compliant oscilloscope

Dave Penkler (5):
  Implement an ioctl to support the USMTMC-USB488 READ_STATUS_BYTE
    operation.
  Add support for USBTMC USB488 SRQ notification with fasync
  Add support for receiving USBTMC USB488 SRQ notifications via
    poll/select
  Add ioctl to retrieve USBTMC-USB488 capabilities
  Add ioctls to enable and disable local controls on an instrument

 drivers/usb/class/usbtmc.c   | 330 +++++++++++++++++++++++++++++++++++++++++++
 include/uapi/linux/usb/tmc.h |  29 +++-
 2 files changed, 356 insertions(+), 3 deletions(-)

-- 
2.6.3

Reply via email to