mbox series

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

Message ID 20180803101835.4674-1-guido@kiener-muenchen.de (mailing list archive)
Headers show
Series usb: usbtmc: Changes needed for compatible IVI/VISA library | expand

Message

Guido Kiener Aug. 3, 2018, 10:18 a.m. UTC
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(-)

Comments

Guido Kiener Sept. 5, 2018, 11:34 a.m. UTC | #1
Greg,

Thank you for reviewing our usbtmc kernel patches.
People are asking me about the progress of the last patches and I'm  
not sure whether new patches can be merged now or not.
So this is just a reminder to our last patch series (four weeks ago):

https://patchwork.kernel.org/cover/10554819/

Regards,

Guido