Index | Thread | Search

From:
Miod Vallat <miod@online.fr>
Subject:
unused usb quirks
To:
tech@openbsd.org
Date:
Fri, 4 Jul 2025 18:35:09 +0000

Download raw body.

Thread
  • Miod Vallat:

    unused usb quirks

These two quirks are no longer set by anything, so we can remove the
related code (HIDMS_REVZ is still used in sys/dev/hid).

Index: sys/dev/usb/ums.c
===================================================================
RCS file: /OpenBSD/src/sys/dev/usb/ums.c,v
diff -u -p -u -p -r1.53 ums.c
--- sys/dev/usb/ums.c	26 May 2024 20:06:27 -0000	1.53
+++ sys/dev/usb/ums.c	4 Jul 2025 18:00:23 -0000
@@ -144,8 +144,6 @@ ums_attach(struct device *parent, struct
 	sc->sc_hdev.sc_osize = hid_report_size(desc, size, hid_output, repid);
 	sc->sc_hdev.sc_fsize = hid_report_size(desc, size, hid_feature, repid);
 
-	if (sc->sc_quirks & UQ_MS_REVZ)
-		qflags |= HIDMS_REVZ;
 	if (sc->sc_quirks & UQ_SPUR_BUT_UP)
 		qflags |= HIDMS_SPUR_BUT_UP;
 	if (sc->sc_quirks & UQ_MS_BAD_CLASS)
Index: sys/dev/usb/usb_quirks.h
===================================================================
RCS file: /OpenBSD/src/sys/dev/usb/usb_quirks.h,v
diff -u -p -u -p -r1.18 usb_quirks.h
--- sys/dev/usb/usb_quirks.h	24 Mar 2021 02:49:57 -0000	1.18
+++ sys/dev/usb/usb_quirks.h	4 Jul 2025 18:00:23 -0000
@@ -36,7 +36,6 @@ struct usbd_quirks {
 	u_int32_t uq_flags;	/* Device problems: */
 #define UQ_NO_SET_PROTO		0x00000001 /* cannot handle SET PROTOCOL */
 #define UQ_SWAP_UNICODE		0x00000002 /* some Unicode strings swapped */
-#define UQ_MS_REVZ		0x00000004 /* mouse has Z-axis reversed */
 #define UQ_NO_STRINGS		0x00000008 /* string descriptors are broken */
 #define UQ_BUS_POWERED		0x00000020 /* is bus-powered, despite claim */
 #define UQ_SPUR_BUT_UP		0x00000080 /* spurious mouse button up events */
@@ -47,8 +46,6 @@ struct usbd_quirks {
 #define UQ_BAD_HID		0x00004000 /* device claims uhid, but isn't */
 #define UQ_MS_BAD_CLASS		0x00008000 /* mouse doesn't identify properly */
 #define UQ_MS_LEADING_BYTE	0x00010000 /* mouse sends unknown leading byte */
-#define UQ_EHCI_NEEDTO_DISOWN	0x00020000 /* must hand device over to USB 1.1
-						if attached to EHCI */
 #define UQ_MS_VENDOR_BUTTONS	0x00040000 /* mouse reports extra buttons in
 						vendor page */
 #define UQ_ALWAYS_OPEN		0x00080000 /* always keep data pipe open */
Index: sys/dev/usb/usb_subr.c
===================================================================
RCS file: /OpenBSD/src/sys/dev/usb/usb_subr.c,v
diff -u -p -u -p -r1.164 usb_subr.c
--- sys/dev/usb/usb_subr.c	1 Mar 2025 14:43:03 -0000	1.164
+++ sys/dev/usb/usb_subr.c	4 Jul 2025 18:00:23 -0000
@@ -1199,19 +1199,6 @@ usbd_new_device(struct device *parent, s
 	if (err)
 		goto fail;
 
-	/* send disown request to handover 2.0 to 1.1. */
-	if (dev->quirks->uq_flags & UQ_EHCI_NEEDTO_DISOWN) {
-		/* only effective when the target device is on ehci */
-		if (dev->bus->usbrev == USBREV_2_0) {
-			DPRINTF(("%s: disown request issues to dev:%p on usb2.0 bus\n",
-				__func__, dev));
-			usbd_port_disown_to_1_1(dev->myhub, port);
-			/* reset_port required to finish disown request */
-			usbd_reset_port(dev->myhub, port);
-  			return (USBD_NORMAL_COMPLETION);
-		}
-	}
-
 	/* Assume 100mA bus powered for now. Changed when configured. */
 	dev->power = USB_MIN_POWER;
 	dev->self_powered = 0;