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