Module Name:    src
Committed By:   erh
Date:           Mon May 14 04:28:28 UTC 2012

Modified Files:
        src/share/man/man4: uhid.4
        src/sys/dev/usb: uhid.c

Log Message:
Implement USB_GET_DEVICE_DESC for uhid devices so there's a way to get the
product and vendor information.


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 src/share/man/man4/uhid.4
cvs rdiff -u -r1.86 -r1.87 src/sys/dev/usb/uhid.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/man/man4/uhid.4
diff -u src/share/man/man4/uhid.4:1.20 src/share/man/man4/uhid.4:1.21
--- src/share/man/man4/uhid.4:1.20	Wed Apr 30 13:10:54 2008
+++ src/share/man/man4/uhid.4	Mon May 14 04:28:27 2012
@@ -1,4 +1,4 @@
-.\" $NetBSD: uhid.4,v 1.20 2008/04/30 13:10:54 martin Exp $
+.\" $NetBSD: uhid.4,v 1.21 2012/05/14 04:28:27 erh Exp $
 .\"
 .\" Copyright (c) 1999, 2001 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -115,6 +115,8 @@ It should be
 or
 .Dv UHID_FEATURE_REPORT .
 This call may fail if the device does not support this feature.
+.It Dv USB_GET_DEVICE_DESC (usb_device_descriptor_t)
+Return the device descriptor.
 .It Dv USB_GET_DEVICEINFO (struct usb_device_info)
 Get an information summary for the device.
 This call will not issue any USB transactions.

Index: src/sys/dev/usb/uhid.c
diff -u src/sys/dev/usb/uhid.c:1.86 src/sys/dev/usb/uhid.c:1.87
--- src/sys/dev/usb/uhid.c:1.86	Tue Mar  6 03:35:29 2012
+++ src/sys/dev/usb/uhid.c	Mon May 14 04:28:28 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: uhid.c,v 1.86 2012/03/06 03:35:29 mrg Exp $	*/
+/*	$NetBSD: uhid.c,v 1.87 2012/05/14 04:28:28 erh Exp $	*/
 
 /*
  * Copyright (c) 1998, 2004, 2008 The NetBSD Foundation, Inc.
@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uhid.c,v 1.86 2012/03/06 03:35:29 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uhid.c,v 1.87 2012/05/14 04:28:28 erh Exp $");
 
 #include "opt_compat_netbsd.h"
 
@@ -570,6 +570,11 @@ uhid_do_ioctl(struct uhid_softc *sc, u_l
 		*(int *)addr = sc->sc_hdev.sc_report_id;
 		break;
 
+	case USB_GET_DEVICE_DESC:
+		*(usb_device_descriptor_t *)addr =
+			*usbd_get_device_descriptor(sc->sc_hdev.sc_parent->sc_udev);
+		break;
+
 	case USB_GET_DEVICEINFO:
 		usbd_fill_deviceinfo(sc->sc_hdev.sc_parent->sc_udev,
 			             (struct usb_device_info *)addr, 0);

Reply via email to