Re: [PATCH] USB: add usbfs ioctl to retrieve the connection speed

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

 



On Fri, Jun 02, 2017 at 01:27:48PM -0400, Alan Stern wrote:
> The usbfs interface does not provide any way for the user to learn the
> speed at which a device is connected.  The current API includes a
> USBDEVFS_CONNECTINFO ioctl, but all it provides is the device's
> address and a one-bit value indicating whether the connection is low
> speed.  That may have sufficed in the era of USB-1.1, but it isn't
> good enough today.
> 
> This patch introduces a new ioctl, USBDEVFS_GET_SPEED, which returns a
> numeric value indicating the speed of the connection: unknown, low,
> full, high, wireless, super, or super-plus.
> 
> Similar information (not exactly the same) is available through sysfs,
> but it seems reasonable to provide the actual value in usbfs.
> 
> Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
> Reported-by: Reinhard Huck <reinhard.huck@xxxxxxxxxxx>
> 
> ---
> 
> 
> [as1832]
> 
> 
>  drivers/usb/core/devio.c          |   24 ++++++++++++++++++++++++
>  include/uapi/linux/usbdevice_fs.h |   10 ++++++++++
>  2 files changed, 34 insertions(+)
> 
> Index: usb-4.x/drivers/usb/core/devio.c
> ===================================================================
> --- usb-4.x.orig/drivers/usb/core/devio.c
> +++ usb-4.x/drivers/usb/core/devio.c
> @@ -1322,6 +1322,27 @@ static int proc_connectinfo(struct usb_d
>  	return 0;
>  }
>  
> +static int proc_get_speed(struct usb_dev_state *ps)
> +{
> +	switch (ps->dev->speed) {
> +	case USB_SPEED_UNKNOWN:
> +		return USBDEVFS_SPEED_UNKNOWN;
> +	case USB_SPEED_LOW:
> +		return USBDEVFS_SPEED_LOW;
> +	case USB_SPEED_FULL:
> +		return USBDEVFS_SPEED_FULL;
> +	case USB_SPEED_HIGH:
> +		return USBDEVFS_SPEED_HIGH;
> +	case USB_SPEED_WIRELESS:
> +		return USBDEVFS_SPEED_WIRELESS;
> +	case USB_SPEED_SUPER:
> +		return USBDEVFS_SPEED_SUPER;
> +	case USB_SPEED_SUPER_PLUS:
> +		return USBDEVFS_SPEED_SUPER_PLUS;
> +	}
> +	return -ERANGE;

We already export the USB_SPEED values to userspace, why not just use
those already, so we don't have to define yet-another-value?

That would make this function much simple :)

thanks,

greg k-h
--
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