Source-Changes-HG archive

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

[src/nick-nhusb]: src/sys/dev/usb Add usbd_set_port_u[12]_timeout().



details:   https://anonhg.NetBSD.org/src/rev/8616f8368b72
branches:  nick-nhusb
changeset: 334220:8616f8368b72
user:      skrll <skrll%NetBSD.org@localhost>
date:      Sat Jun 06 15:27:38 2015 +0000

description:
Add usbd_set_port_u[12]_timeout().

>From t-hash

diffstat:

 sys/dev/usb/usbdi_util.c |  30 ++++++++++++++++++++++++++++--
 sys/dev/usb/usbdi_util.h |   4 +++-
 2 files changed, 31 insertions(+), 3 deletions(-)

diffs (69 lines):

diff -r eb39328e42c1 -r 8616f8368b72 sys/dev/usb/usbdi_util.c
--- a/sys/dev/usb/usbdi_util.c  Sat Jun 06 15:26:15 2015 +0000
+++ b/sys/dev/usb/usbdi_util.c  Sat Jun 06 15:27:38 2015 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: usbdi_util.c,v 1.63.2.8 2015/04/06 15:18:14 skrll Exp $        */
+/*     $NetBSD: usbdi_util.c,v 1.63.2.9 2015/06/06 15:27:38 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.8 2015/04/06 15:18:14 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: usbdi_util.c,v 1.63.2.9 2015/06/06 15:27:38 skrll Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
@@ -243,6 +243,32 @@
 }
 
 usbd_status
+usbd_set_port_u1_timeout(struct usbd_device *dev, int port, int timeout)
+{
+       usb_device_request_t req;
+
+       req.bmRequestType = UT_WRITE_CLASS_OTHER;
+       req.bRequest = UR_SET_FEATURE;
+       USETW(req.wValue, UHF_PORT_U1_TIMEOUT);
+       USETW2(req.wIndex, timeout, port);
+       USETW(req.wLength, 0);
+       return usbd_do_request(dev, &req, 0);
+}
+
+usbd_status
+usbd_set_port_u2_timeout(struct usbd_device *dev, int port, int timeout)
+{
+       usb_device_request_t req;
+
+       req.bmRequestType = UT_WRITE_CLASS_OTHER;
+       req.bRequest = UR_SET_FEATURE;
+       USETW(req.wValue, UHF_PORT_U2_TIMEOUT);
+       USETW2(req.wIndex, timeout, port);
+       USETW(req.wLength, 0);
+       return usbd_do_request(dev, &req, 0);
+}
+
+usbd_status
 usbd_get_protocol(struct usbd_interface *iface, uint8_t *report)
 {
        usb_interface_descriptor_t *id = usbd_get_interface_descriptor(iface);
diff -r eb39328e42c1 -r 8616f8368b72 sys/dev/usb/usbdi_util.h
--- a/sys/dev/usb/usbdi_util.h  Sat Jun 06 15:26:15 2015 +0000
+++ b/sys/dev/usb/usbdi_util.h  Sat Jun 06 15:27:38 2015 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: usbdi_util.h,v 1.45.6.6 2015/04/06 15:18:14 skrll Exp $        */
+/*     $NetBSD: usbdi_util.h,v 1.45.6.7 2015/06/06 15:27:38 skrll Exp $        */
 
 /*
  * Copyright (c) 1998, 2004 The NetBSD Foundation, Inc.
@@ -52,6 +52,8 @@
 usbd_status    usbd_clear_hub_feature(struct usbd_device *, int);
 usbd_status    usbd_set_port_feature(struct usbd_device *, int, int);
 usbd_status    usbd_clear_port_feature(struct usbd_device *, int, int);
+usbd_status    usbd_set_port_u1_timeout(struct usbd_device *, int, int);
+usbd_status    usbd_set_port_u2_timeout(struct usbd_device *, int, int);
 usbd_status    usbd_get_device_status(struct usbd_device *, usb_status_t *);
 usbd_status    usbd_get_hub_status(struct usbd_device *, usb_hub_status_t *);
 usbd_status    usbd_get_protocol(struct usbd_interface *, uint8_t *);



Home | Main Index | Thread Index | Old Index