USB: usbtmc: Add USBTMC_IOCTL_GET_STB
This new ioctl reads the status byte (STB) from the device and returns the STB unmodified to the application. The srq_asserted bit is not taken into account and not changed. This ioctl is useful to support non USBTMC-488 compliant devices. Tested-by: Jian-Wei Wu <jian-wei_wu@keysight.com> Reviewed-by: Guido Kiener <guido.kiener@rohde-schwarz.com> Signed-off-by: Dave Penkler <dpenkler@gmail.com> Link: https://lore.kernel.org/r/20201215155621.9592-3-dpenkler@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
3c1037e2b6
commit
c9784e23c1
|
@ -2149,6 +2149,12 @@ static long usbtmc_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
|
|||
file_data->auto_abort = !!tmp_byte;
|
||||
break;
|
||||
|
||||
case USBTMC_IOCTL_GET_STB:
|
||||
retval = usbtmc_get_stb(file_data, &tmp_byte);
|
||||
if (retval > 0)
|
||||
retval = put_user(tmp_byte, (__u8 __user *)arg);
|
||||
break;
|
||||
|
||||
case USBTMC_IOCTL_CANCEL_IO:
|
||||
retval = usbtmc_ioctl_cancel_io(file_data);
|
||||
break;
|
||||
|
|
|
@ -102,6 +102,8 @@ struct usbtmc_message {
|
|||
#define USBTMC_IOCTL_MSG_IN_ATTR _IOR(USBTMC_IOC_NR, 24, __u8)
|
||||
#define USBTMC_IOCTL_AUTO_ABORT _IOW(USBTMC_IOC_NR, 25, __u8)
|
||||
|
||||
#define USBTMC_IOCTL_GET_STB _IOR(USBTMC_IOC_NR, 26, __u8)
|
||||
|
||||
/* Cancel and cleanup asynchronous calls */
|
||||
#define USBTMC_IOCTL_CANCEL_IO _IO(USBTMC_IOC_NR, 35)
|
||||
#define USBTMC_IOCTL_CLEANUP_IO _IO(USBTMC_IOC_NR, 36)
|
||||
|
|
Loading…
Reference in New Issue