[PATCH v5 00/22] usb: usbtmc: Changes needed for compatible IVI/VISA library

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The working group "VISA for Linux" of the IVI Foundation
www.ivifoundation.org specifies common rules, shared libraries and
drivers to implement the specification of "VPP-4.3: The VISA Library"
on Linux to be compatible with implementations on other operating systems.

The USBTMC protocol is part of the "VISA Library" that is used by many
popular T&M applications.

Initial implementations for Linux based on libusb has been created.
However using one common USBTMC driver results in more benefits:

- Multiple applications can share access to the same instruments.
- The driver handles SRQ conflicts.
- Simplifies definition of udev rules for USBTMC devices.
- Simplifies development of applications using T&M instruments.

The following collaborative patches meet the requirements of the IVI
Foundation to implement the library based on the usbtmc driver.

Improvements in the data transfer rate of over 130 MByte/s for
usb 3.x connections have been measured.


V5: Added this version history. No change to patches.

V4: Removed redundant #ifdef CONFIG_COMPAT.

V3: Replaced data pointer of type void* in structs 
    usbtmc_ctrlrequest and usbtmc_message with data pointer of
    type __u64 to avoid double implementation of ioctls with
    different structure sizes for 32 and 64 bit applications.

    Following patch is added to usb-next branch:
    usb: usbtmc: Add support for 32 bit compat applications

V2: Split patch series into smaller patches.
    Add compatible ioctls and structs to support 32 bit applications.
    Incorporates feedback from reviewers.

    Following patches are added to usb-next branch:
    usb: usbtmc: Add ioctl for termination character
    usb: usbtmc: Add ioctl for EOM bit
    usb: usbtmc: Add ioctl for trigger
    usb: usbtmc: Add ioctls to set/get usb timeout
    usb: usbtmc: use consistent timeout error
    usb: usbtmc: Support Read Status Byte with SRQ per file

V1: usb: usbtmc: Remove rigol_quirk (accepted)
    https://patchwork.kernel.org/patch/10407097/

Guido Kiener, Dave Penkler, Steve Bayless (22):
  usb: usbtmc: Add ioctl for generic requests on control
  usb: usbtmc: Add ioctl for vendor specific write
  usb: usbtmc: Add ioctl USBTMC_IOCTL_WRITE_RESULT
  usb: usbtmc: Add ioctl for vendor specific read
  usb: usbtmc: Add ioctl USBTMC_IOCTL_CANCEL_IO
  usb: usbtmc: Add ioctl USBTMC_IOCTL_CLEANUP_IO
  usb: usbtmc: Fix suspend/resume
  usb: usbtmc: Add ioctl USBTMC488_IOCTL_WAIT_SRQ
  usb: usbtmc: add ioctl USBTMC_IOCTL_MSG_IN_ATTR
  usb: usbtmc: Add ioctl USBTMC_IOCTL_AUTO_ABORT
  usb: usbtmc: Optimize usbtmc_write
  usb: usbtmc: Optimize usbtmc_read
  usb: usbtmc: Fix ioctl USBTMC_IOCTL_CLEAR
  usb: usbtmc: Fix ioctl USBTMC_IOCTL_ABORT_BULK_IN
  usb: usbtmc: Fix ioctl USBTMC_IOCTL_ABORT_BULK_OUT
  usb: usbtmc: Replace USBTMC_TIMEOUT macros for control messages
  usb: usbtmc: Add ioctl USBTMC_IOCTL_API_VERSION
  usb: usbtmc: Update ioctl-number.txt
  usb: usbtmc: Remove redundant code
  usb: usbtmc: Remove redundant macro USBTMC_SIZE_IOBUFFER
  usb: usbtmc: Fix split quoted string in debug message
  usb: usbtmc: Remove sysfs group TermChar and auto_abort


 .../ABI/stable/sysfs-driver-usb-usbtmc        |   35 -
 Documentation/ioctl/ioctl-number.txt          |    2 +-
 drivers/usb/class/usbtmc.c                    | 1652 +++++++++++++----
 include/uapi/linux/usb/tmc.h                  |   41 +
 4 files changed, 1291 insertions(+), 439 deletions(-)

-- 
2.17.1

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux