Module Name: src
Committed By: christos
Date: Wed Mar 4 01:23:08 UTC 2020
Modified Files:
src/sys/dev/usb: uhid.c usbhid.h
Log Message:
Add ioctls to get and set raw mode.
To generate a diff of this commit:
cvs rdiff -u -r1.112 -r1.113 src/sys/dev/usb/uhid.c
cvs rdiff -u -r1.18 -r1.19 src/sys/dev/usb/usbhid.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/uhid.c
diff -u src/sys/dev/usb/uhid.c:1.112 src/sys/dev/usb/uhid.c:1.113
--- src/sys/dev/usb/uhid.c:1.112 Mon Mar 2 13:15:28 2020
+++ src/sys/dev/usb/uhid.c Tue Mar 3 20:23:08 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: uhid.c,v 1.112 2020/03/02 18:15:28 christos Exp $ */
+/* $NetBSD: uhid.c,v 1.113 2020/03/04 01:23:08 christos Exp $ */
/*
* Copyright (c) 1998, 2004, 2008, 2012 The NetBSD Foundation, Inc.
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uhid.c,v 1.112 2020/03/02 18:15:28 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uhid.c,v 1.113 2020/03/04 01:23:08 christos Exp $");
#ifdef _KERNEL_OPT
#include "opt_compat_netbsd.h"
@@ -602,6 +602,14 @@ uhid_do_ioctl(struct uhid_softc *sc, u_l
mutex_exit(proc_lock);
break;
+ case USB_HID_GET_RAW:
+ *(int *)addr = sc->sc_raw;
+ break;
+
+ case USB_HID_SET_RAW:
+ sc->sc_raw = *(int *)addr;
+ break;
+
case USB_GET_REPORT_DESC:
uhidev_get_report_desc(sc->sc_hdev.sc_parent, &desc, &size);
rd = (struct usb_ctl_report_desc *)addr;
Index: src/sys/dev/usb/usbhid.h
diff -u src/sys/dev/usb/usbhid.h:1.18 src/sys/dev/usb/usbhid.h:1.19
--- src/sys/dev/usb/usbhid.h:1.18 Sun Jul 15 14:36:51 2018
+++ src/sys/dev/usb/usbhid.h Tue Mar 3 20:23:08 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: usbhid.h,v 1.18 2018/07/15 18:36:51 maya Exp $ */
+/* $NetBSD: usbhid.h,v 1.19 2020/03/04 01:23:08 christos Exp $ */
/* $FreeBSD: src/sys/dev/usb/usbhid.h,v 1.7 1999/11/17 22:33:51 n_hibma Exp $ */
/*
@@ -36,6 +36,7 @@
#define _DEV_USB_USBHID_H_
#include <dev/hid/hid.h>
+#include <sys/ioccom.h>
#define UR_GET_HID_DESCRIPTOR 0x06
#define UDESC_HID 0x21
@@ -66,4 +67,7 @@ typedef struct usb_hid_descriptor {
#define UHID_OUTPUT_REPORT 0x02
#define UHID_FEATURE_REPORT 0x03
+#define USB_HID_GET_RAW _IOR('h', 1, int)
+#define USB_HID_SET_RAW _IOW('h', 2, int)
+
#endif /* _DEV_USB_USBHID_H_ */