Module Name: src
Committed By: skrll
Date: Sun Jun 7 08:04:36 UTC 2015
Modified Files:
src/sys/dev/usb [nick-nhusb]: usbdi_util.c usbdi_util.h
Log Message:
Add usbd_get_port_status_ext
>From t-hash
To generate a diff of this commit:
cvs rdiff -u -r1.63.2.9 -r1.63.2.10 src/sys/dev/usb/usbdi_util.c
cvs rdiff -u -r1.45.6.7 -r1.45.6.8 src/sys/dev/usb/usbdi_util.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/usb/usbdi_util.c
diff -u src/sys/dev/usb/usbdi_util.c:1.63.2.9 src/sys/dev/usb/usbdi_util.c:1.63.2.10
--- src/sys/dev/usb/usbdi_util.c:1.63.2.9 Sat Jun 6 15:27:38 2015
+++ src/sys/dev/usb/usbdi_util.c Sun Jun 7 08:04:36 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: usbdi_util.c,v 1.63.2.9 2015/06/06 15:27:38 skrll Exp $ */
+/* $NetBSD: usbdi_util.c,v 1.63.2.10 2015/06/07 08:04:36 skrll Exp $ */
/*
* Copyright (c) 1998, 2012 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: usbdi_util.c,v 1.63.2.9 2015/06/06 15:27:38 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: usbdi_util.c,v 1.63.2.10 2015/06/07 08:04:36 skrll Exp $");
#ifdef _KERNEL_OPT
#include "opt_usb.h"
@@ -190,6 +190,21 @@ usbd_get_port_status(struct usbd_device
return usbd_do_request(dev, &req, ps);
}
+/* USB 3.1 10.16.2.6, 10.16.2.6.3 */
+usbd_status
+usbd_get_port_status_ext(struct usbd_device *dev, int port,
+ usb_port_status_ext_t *pse)
+{
+ usb_device_request_t req;
+
+ req.bmRequestType = UT_READ_CLASS_OTHER;
+ req.bRequest = UR_GET_STATUS;
+ USETW2(req.wValue, 0, UR_PST_EXT_PORT_STATUS);
+ USETW(req.wIndex, port);
+ USETW(req.wLength, sizeof *pse);
+ return (usbd_do_request(dev, &req, pse));
+}
+
usbd_status
usbd_clear_hub_feature(struct usbd_device *dev, int sel)
{
Index: src/sys/dev/usb/usbdi_util.h
diff -u src/sys/dev/usb/usbdi_util.h:1.45.6.7 src/sys/dev/usb/usbdi_util.h:1.45.6.8
--- src/sys/dev/usb/usbdi_util.h:1.45.6.7 Sat Jun 6 15:27:38 2015
+++ src/sys/dev/usb/usbdi_util.h Sun Jun 7 08:04:36 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: usbdi_util.h,v 1.45.6.7 2015/06/06 15:27:38 skrll Exp $ */
+/* $NetBSD: usbdi_util.h,v 1.45.6.8 2015/06/07 08:04:36 skrll Exp $ */
/*
* Copyright (c) 1998, 2004 The NetBSD Foundation, Inc.
@@ -48,6 +48,8 @@ usbd_status usbd_get_device_desc(struct
usbd_status usbd_set_address(struct usbd_device *, int);
usbd_status usbd_get_port_status(struct usbd_device *,
int, usb_port_status_t *);
+usbd_status usbd_get_port_status_ext(struct usbd_device *,
+ int, usb_port_status_ext_t *);
usbd_status usbd_set_hub_feature(struct usbd_device *, int);
usbd_status usbd_clear_hub_feature(struct usbd_device *, int);
usbd_status usbd_set_port_feature(struct usbd_device *, int, int);