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);

Reply via email to