mbox series

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

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

Message

Guido Kiener July 30, 2018, 8:04 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.

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

Greg Kroah-Hartman July 30, 2018, 1:26 p.m. UTC | #1
On Mon, Jul 30, 2018 at 10:04:30AM +0200, Guido Kiener wrote:
> 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.
> 
> 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(-)

What changed from v3 of this patch set?  That needs to be listed
somewhere, right?

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Guido Kiener July 30, 2018, 2:16 p.m. UTC | #2
Zitat von Greg KH <gregkh@linuxfoundation.org>:

> On Mon, Jul 30, 2018 at 10:04:30AM +0200, Guido Kiener wrote:
>> 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.
>>
>> 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(-)
>
> What changed from v3 of this patch set?  That needs to be listed
> somewhere, right?
>

v3 included patch "usb: usbtmc: Add support for 32 bit compat applications"
which you already have added to your usb-next branch.
You did not accept (2nd and now 1st) patch
"usb: usbtmc: Add ioctl for generic requests on control"
which had a superfluous "#ifdef CONFIG_COMPAT".
So v4 just removed this superfluous "#ifdef CONFIG_COMPAT" without any change
of further descriptions.

Regards,

-Guido


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