Module Name: src
Committed By: mrg
Date: Thu Jul 20 20:00:34 UTC 2023
Modified Files:
src/sys/dev/usb: ehci.c files.usb if_urtwn.c ugen.c ums.c usb.c
Log Message:
various debug updates for some usb drivers
- several new *_DEBUG_DEFAULT options that allow usb debug values to
be set to a default that is non-zero:
EHCI_DEBUG_DEFAULT, UGEN_DEBUG_DEFAULT, URTWN_DEBUG_DEFAULT,
UMS_DEBUG_DEFAULT, and USB_DEBUG_DEFAULT
- ugen debug uses fewer usbhist lines for the same info
- ums.c converted from printf() to usbhist
To generate a diff of this commit:
cvs rdiff -u -r1.315 -r1.316 src/sys/dev/usb/ehci.c
cvs rdiff -u -r1.178 -r1.179 src/sys/dev/usb/files.usb
cvs rdiff -u -r1.105 -r1.106 src/sys/dev/usb/if_urtwn.c
cvs rdiff -u -r1.171 -r1.172 src/sys/dev/usb/ugen.c
cvs rdiff -u -r1.103 -r1.104 src/sys/dev/usb/ums.c
cvs rdiff -u -r1.200 -r1.201 src/sys/dev/usb/usb.c
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/ehci.c
diff -u src/sys/dev/usb/ehci.c:1.315 src/sys/dev/usb/ehci.c:1.316
--- src/sys/dev/usb/ehci.c:1.315 Tue Dec 13 21:29:04 2022
+++ src/sys/dev/usb/ehci.c Thu Jul 20 20:00:34 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: ehci.c,v 1.315 2022/12/13 21:29:04 jakllsch Exp $ */
+/* $NetBSD: ehci.c,v 1.316 2023/07/20 20:00:34 mrg Exp $ */
/*
* Copyright (c) 2004-2012,2016,2020 The NetBSD Foundation, Inc.
@@ -54,7 +54,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ehci.c,v 1.315 2022/12/13 21:29:04 jakllsch Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ehci.c,v 1.316 2023/07/20 20:00:34 mrg Exp $");
#include "ohci.h"
#include "uhci.h"
@@ -95,7 +95,12 @@ __KERNEL_RCSID(0, "$NetBSD: ehci.c,v 1.3
#ifndef EHCI_DEBUG
#define ehcidebug 0
#else
-static int ehcidebug = 0;
+
+#ifndef EHCI_DEBUG_DEFAULT
+#define EHCI_DEBUG_DEFAULT 0
+#endif
+
+static int ehcidebug = EHCI_DEBUG_DEFAULT;
SYSCTL_SETUP(sysctl_hw_ehci_setup, "sysctl hw.ehci setup")
{
Index: src/sys/dev/usb/files.usb
diff -u src/sys/dev/usb/files.usb:1.178 src/sys/dev/usb/files.usb:1.179
--- src/sys/dev/usb/files.usb:1.178 Thu Jun 30 06:30:44 2022
+++ src/sys/dev/usb/files.usb Thu Jul 20 20:00:34 2023
@@ -1,4 +1,4 @@
-# $NetBSD: files.usb,v 1.178 2022/06/30 06:30:44 macallan Exp $
+# $NetBSD: files.usb,v 1.179 2023/07/20 20:00:34 mrg Exp $
#
# Config file and device description for machine-independent USB code.
# Included by ports that need it. Ports that use it must provide
@@ -6,9 +6,11 @@
defflag USBVERBOSE
defflag opt_usb.h USB_FRAG_DMA_WORKAROUND
+defparam opt_usb.h USB_DEBUG_DEFAULT: USB_DEBUG
# HC controllers
defflag opt_usb.h EHCI_DEBUG: USB_DEBUG
+defparam opt_usb.h EHCI_DEBUG_DEFAULT: EHCI_DEBUG
defflag opt_usb.h OHCI_DEBUG: USB_DEBUG
defflag opt_usb.h UHCI_DEBUG: USB_DEBUG
defflag opt_usb.h DWC2_DEBUG: USB_DEBUG
@@ -46,6 +48,7 @@ defflag opt_usb.h UDSBR_DEBUG: USB_DEBUG
defflag opt_usb.h UFTDI_DEBUG: USB_DEBUG
defflag opt_usb.h UGENSA_DEBUG: USB_DEBUG
defflag opt_usb.h UGEN_DEBUG: USB_DEBUG
+defparam opt_usb.h UGEN_DEBUG_DEFAULT: UGEN_DEBUG
defflag opt_usb.h UHIDEV_DEBUG: USB_DEBUG
defflag opt_usb.h UHID_DEBUG: USB_DEBUG
defflag opt_usb.h UHMODEM_DEBUG: USB_DEBUG
@@ -62,6 +65,7 @@ defflag opt_usb.h UMIDIQUIRK_DEBUG: USB_
defflag opt_usb.h UMIDI_DEBUG: USB_DEBUG
defflag opt_usb.h UMODEM_DEBUG: USB_DEBUG
defflag opt_usb.h UMS_DEBUG: USB_DEBUG
+defparam opt_usb.h UMS_DEBUG_DEFAULT: UMS_DEBUG
defflag opt_usb.h UPGT_DEBUG: USB_DEBUG
defflag opt_usb.h UPLCOM_DEBUG: USB_DEBUG
defflag opt_usb.h UPL_DEBUG: USB_DEBUG
@@ -69,6 +73,7 @@ defflag opt_usb.h URAL_DEBUG: USB_DEBUG
defflag opt_usb.h URL_DEBUG: USB_DEBUG
defflag opt_usb.h URNDIS_DEBUG: USB_DEBUG
defflag opt_usb.h URTWN_DEBUG: USB_DEBUG
+defparam opt_usb.h URTWN_DEBUG_DEFAULT: URTWN_DEBUG
defflag opt_usb.h URTW_DEBUG: USB_DEBUG
defflag opt_usb.h USBNET_DEBUG: USB_DEBUG
defflag opt_usb.h USCANNER_DEBUG: USB_DEBUG
Index: src/sys/dev/usb/if_urtwn.c
diff -u src/sys/dev/usb/if_urtwn.c:1.105 src/sys/dev/usb/if_urtwn.c:1.106
--- src/sys/dev/usb/if_urtwn.c:1.105 Sun Jul 31 12:59:26 2022
+++ src/sys/dev/usb/if_urtwn.c Thu Jul 20 20:00:34 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: if_urtwn.c,v 1.105 2022/07/31 12:59:26 mlelstv Exp $ */
+/* $NetBSD: if_urtwn.c,v 1.106 2023/07/20 20:00:34 mrg Exp $ */
/* $OpenBSD: if_urtwn.c,v 1.42 2015/02/10 23:25:46 mpi Exp $ */
/*-
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_urtwn.c,v 1.105 2022/07/31 12:59:26 mlelstv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_urtwn.c,v 1.106 2023/07/20 20:00:34 mrg Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -95,7 +95,13 @@ __KERNEL_RCSID(0, "$NetBSD: if_urtwn.c,v
#define DBG_RF __BIT(5)
#define DBG_REG __BIT(6)
#define DBG_ALL 0xffffffffU
-u_int urtwn_debug = 0;
+
+#ifndef URTWN_DEBUG_DEFAULT
+#define URTWN_DEBUG_DEFAULT 0
+#endif
+
+u_int urtwn_debug = URTWN_DEBUG_DEFAULT;
+
#define DPRINTFN(n, fmt, a, b, c, d) do { \
if (urtwn_debug & (n)) { \
KERNHIST_LOG(usbhist, fmt, a, b, c, d); \
Index: src/sys/dev/usb/ugen.c
diff -u src/sys/dev/usb/ugen.c:1.171 src/sys/dev/usb/ugen.c:1.172
--- src/sys/dev/usb/ugen.c:1.171 Sun Oct 23 11:06:37 2022
+++ src/sys/dev/usb/ugen.c Thu Jul 20 20:00:34 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: ugen.c,v 1.171 2022/10/23 11:06:37 riastradh Exp $ */
+/* $NetBSD: ugen.c,v 1.172 2023/07/20 20:00:34 mrg Exp $ */
/*
* Copyright (c) 1998, 2004 The NetBSD Foundation, Inc.
@@ -37,7 +37,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ugen.c,v 1.171 2022/10/23 11:06:37 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ugen.c,v 1.172 2023/07/20 20:00:34 mrg Exp $");
#ifdef _KERNEL_OPT
#include "opt_compat_netbsd.h"
@@ -72,7 +72,12 @@ __KERNEL_RCSID(0, "$NetBSD: ugen.c,v 1.1
#ifndef UGEN_DEBUG
#define ugendebug 0
#else
-int ugendebug = 0;
+
+#ifndef UGEN_DEBUG_DEFAULT
+#define UGEN_DEBUG_DEFAULT 0
+#endif
+
+int ugendebug = UGEN_DEBUG_DEFAULT;
SYSCTL_SETUP(sysctl_hw_ugen_setup, "sysctl hw.ugen setup")
{
@@ -108,6 +113,10 @@ fail:
#define DPRINTFN(N,FMT,A,B,C,D) USBHIST_LOGN(ugendebug,N,FMT,A,B,C,D)
#define UGENHIST_FUNC() USBHIST_FUNC()
#define UGENHIST_CALLED(name) USBHIST_CALLED(ugendebug)
+#define UGENHIST_CALLARGS(FMT,A,B,C,D) \
+ USBHIST_CALLARGS(ugendebug,FMT,A,B,C,D)
+#define UGENHIST_CALLARGSN(N,FMT,A,B,C,D) \
+ USBHIST_CALLARGSN(ugendebug,N,FMT,A,B,C,D)
#define UGEN_CHUNK 128 /* chunk size for read */
#define UGEN_IBSIZE 1020 /* buffer size */
@@ -471,10 +480,9 @@ ugen_set_config(struct ugen_softc *sc, i
usbd_status err;
int dir;
- UGENHIST_FUNC(); UGENHIST_CALLED();
-
- DPRINTFN(1, "ugen%jd: to configno %jd, sc=%jx",
- device_unit(sc->sc_dev), configno, (uintptr_t)sc, 0);
+ UGENHIST_FUNC();
+ UGENHIST_CALLARGSN(1, "ugen%jd: to configno %jd, sc=%jx",
+ device_unit(sc->sc_dev), configno, (uintptr_t)sc, 0);
KASSERT(KERNEL_LOCKED_P()); /* sc_is_open */
@@ -564,16 +572,15 @@ ugenopen(dev_t dev, int flag, int mode,
int error;
int opened = 0;
- UGENHIST_FUNC(); UGENHIST_CALLED();
+ UGENHIST_FUNC();
+ UGENHIST_CALLARGS("flag=%jd, mode=%jd, unit=%jd endpt=%jd",
+ flag, mode, unit, endpt);
KASSERT(KERNEL_LOCKED_P()); /* sc_is_open */
if ((sc = ugenif_acquire(unit)) == NULL)
return ENXIO;
- DPRINTFN(5, "flag=%jd, mode=%jd, unit=%jd endpt=%jd",
- flag, mode, unit, endpt);
-
/* The control endpoint allows multiple opens. */
if (endpt == USB_CONTROL_ENDPOINT) {
opened = sc->sc_is_open[USB_CONTROL_ENDPOINT] = 1;
@@ -735,7 +742,8 @@ ugen_do_close(struct ugen_softc *sc, int
int dir;
int i;
- UGENHIST_FUNC(); UGENHIST_CALLED();
+ UGENHIST_FUNC();
+ UGENHIST_CALLARGS("flag=%jd endpt=%jd", flag, endpt, 0, 0);
KASSERT(KERNEL_LOCKED_P()); /* sc_is_open */
@@ -809,10 +817,9 @@ ugenclose(dev_t dev, int flag, int mode,
int endpt = UGENENDPOINT(dev);
struct ugen_softc *sc;
- UGENHIST_FUNC(); UGENHIST_CALLED();
-
- DPRINTFN(5, "flag=%jd, mode=%jd, unit=%jd, endpt=%jd",
- flag, mode, UGENUNIT(dev), endpt);
+ UGENHIST_FUNC();
+ UGENHIST_CALLARGS("flag=%jd, mode=%jd, unit=%jd, endpt=%jd",
+ flag, mode, UGENUNIT(dev), endpt);
KASSERT(KERNEL_LOCKED_P()); /* ugen_do_close */
@@ -837,9 +844,8 @@ ugen_do_read(struct ugen_softc *sc, int
usbd_status err;
int error = 0;
- UGENHIST_FUNC(); UGENHIST_CALLED();
-
- DPRINTFN(5, "ugen%d: %jd", device_unit(sc->sc_dev), endpt, 0, 0);
+ UGENHIST_FUNC();
+ UGENHIST_CALLARGS("ugen%d: %jd", device_unit(sc->sc_dev), endpt, 0, 0);
if (endpt == USB_CONTROL_ENDPOINT)
return ENODEV;
@@ -1050,9 +1056,9 @@ ugen_do_write(struct ugen_softc *sc, int
struct usbd_xfer *xfer;
usbd_status err;
- UGENHIST_FUNC(); UGENHIST_CALLED();
-
- DPRINTFN(5, "ugen%jd: %jd", device_unit(sc->sc_dev), endpt, 0, 0);
+ UGENHIST_FUNC();
+ UGENHIST_CALLARGSN(5, "ugen%jd: %jd",
+ device_unit(sc->sc_dev), endpt, 0, 0);
if (endpt == USB_CONTROL_ENDPOINT)
return ENODEV;
@@ -1229,9 +1235,8 @@ ugen_detach(device_t self, int flags)
int i, dir;
int maj, mn;
- UGENHIST_FUNC(); UGENHIST_CALLED();
-
- DPRINTF("sc=%ju flags=%ju", (uintptr_t)sc, flags, 0, 0);
+ UGENHIST_FUNC();
+ UGENHIST_CALLARGS("sc=%ju flags=%ju", (uintptr_t)sc, flags, 0, 0);
KASSERT(KERNEL_LOCKED_P()); /* sc_is_open */
@@ -1325,7 +1330,8 @@ ugenintr(struct usbd_xfer *xfer, void *a
uint32_t count;
u_char *ibuf;
- UGENHIST_FUNC(); UGENHIST_CALLED();
+ UGENHIST_FUNC();
+ UGENHIST_CALLARGS("xfer %jx status %d", (uintptr_t)xfer, status, 0, 0);
if (status == USBD_CANCELLED)
return;
@@ -1362,7 +1368,8 @@ ugen_isoc_rintr(struct usbd_xfer *xfer,
uint32_t count, n;
int i, isize;
- UGENHIST_FUNC(); UGENHIST_CALLED();
+ UGENHIST_FUNC();
+ UGENHIST_CALLARGS("xfer=%jx status=%jd", (uintptr_t)xfer, status, 0, 0);
/* Return if we are aborting. */
if (status == USBD_CANCELLED)
@@ -1423,7 +1430,8 @@ ugen_bulkra_intr(struct usbd_xfer *xfer,
char const *tbuf;
usbd_status err;
- UGENHIST_FUNC(); UGENHIST_CALLED();
+ UGENHIST_FUNC();
+ UGENHIST_CALLARGS("xfer=%jx status=%jd", (uintptr_t)xfer, status, 0, 0);
/* Return if we are aborting. */
if (status == USBD_CANCELLED)
@@ -1491,7 +1499,8 @@ ugen_bulkwb_intr(struct usbd_xfer *xfer,
char *tbuf;
usbd_status err;
- UGENHIST_FUNC(); UGENHIST_CALLED();
+ UGENHIST_FUNC();
+ UGENHIST_CALLARGS("xfer=%jx status=%jd", (uintptr_t)xfer, status, 0, 0);
/* Return if we are aborting. */
if (status == USBD_CANCELLED)
@@ -1558,9 +1567,8 @@ ugen_set_interface(struct ugen_softc *sc
uint8_t niface, nendpt, endptno, endpt;
int dir;
- UGENHIST_FUNC(); UGENHIST_CALLED();
-
- DPRINTFN(15, "%d %d", ifaceidx, altno, 0, 0);
+ UGENHIST_FUNC();
+ UGENHIST_CALLARGSN(15, "ifaceidx=%jd altno=%jd", ifaceidx, altno, 0, 0);
err = usbd_interface_count(sc->sc_udev, &niface);
if (err)
@@ -1603,37 +1611,37 @@ ugen_set_interface(struct ugen_softc *sc
Static usb_config_descriptor_t *
ugen_get_cdesc(struct ugen_softc *sc, int index, int *lenp)
{
- usb_config_descriptor_t *cdesc, *tdesc, cdescr;
- int len;
+ usb_config_descriptor_t *cdesc = NULL, *tdesc, cdescr;
+ int len = 0;
usbd_status err;
- UGENHIST_FUNC(); UGENHIST_CALLED();
+ UGENHIST_FUNC(); UGENHIST_CALLARGS("index=%jd", index, 0, 0, 0);
- if (index == USB_CURRENT_CONFIG_INDEX) {
+ switch (index) {
+ case USB_CURRENT_CONFIG_INDEX:
tdesc = usbd_get_config_descriptor(sc->sc_udev);
if (tdesc == NULL)
- return NULL;
+ break;
len = UGETW(tdesc->wTotalLength);
- if (lenp)
- *lenp = len;
cdesc = kmem_alloc(len, KM_SLEEP);
memcpy(cdesc, tdesc, len);
- DPRINTFN(5, "current, len=%jd", len, 0, 0, 0);
- } else {
+ break;
+ default:
err = usbd_get_config_desc(sc->sc_udev, index, &cdescr);
if (err)
- return 0;
+ break;
len = UGETW(cdescr.wTotalLength);
- DPRINTFN(5, "index=%jd, len=%jd", index, len, 0, 0);
- if (lenp)
- *lenp = len;
cdesc = kmem_alloc(len, KM_SLEEP);
err = usbd_get_config_desc_full(sc->sc_udev, index, cdesc, len);
if (err) {
kmem_free(cdesc, len);
- return 0;
+ cdesc = NULL;
}
+ break;
}
+ DPRINTFN(5, "req len=%jd cdesc=%jx", len, (uintptr_t)cdesc, 0, 0);
+ if (cdesc && lenp)
+ *lenp = len;
return cdesc;
}
@@ -1669,12 +1677,12 @@ ugen_do_ioctl(struct ugen_softc *sc, int
int error;
int dir;
- UGENHIST_FUNC(); UGENHIST_CALLED();
+ UGENHIST_FUNC();
+ UGENHIST_CALLARGS("ugen%d: endpt=%ju cmd=%08jx flag=%jx",
+ device_unit(sc->sc_dev), endpt, cmd, flag);
KASSERT(KERNEL_LOCKED_P()); /* ugen_set_config */
- DPRINTFN(5, "cmd=%08jx", cmd, 0, 0, 0);
-
switch (cmd) {
case FIONBIO:
/* All handled in the upper FS layer. */
@@ -1690,6 +1698,8 @@ ugen_do_ioctl(struct ugen_softc *sc, int
sce->state |= UGEN_SHORT_OK;
else
sce->state &= ~UGEN_SHORT_OK;
+ DPRINTFN(5, "pipe=%jx short xfer=%ju",
+ (uintptr_t)sce->pipeh, sce->state & UGEN_SHORT_OK, 0, 0);
return 0;
case USB_SET_TIMEOUT:
for (dir = OUT; dir <= IN; dir++) {
@@ -1698,6 +1708,8 @@ ugen_do_ioctl(struct ugen_softc *sc, int
return EINVAL;
sce->timeout = *(int *)addr;
+ DPRINTFN(5, "pipe=%jx timeout[dir=%ju] timeout=%ju",
+ (uintptr_t)sce->pipeh, dir, sce->timeout, 0);
}
return 0;
case USB_SET_BULK_RA:
Index: src/sys/dev/usb/ums.c
diff -u src/sys/dev/usb/ums.c:1.103 src/sys/dev/usb/ums.c:1.104
--- src/sys/dev/usb/ums.c:1.103 Mon Mar 28 12:44:17 2022
+++ src/sys/dev/usb/ums.c Thu Jul 20 20:00:34 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: ums.c,v 1.103 2022/03/28 12:44:17 riastradh Exp $ */
+/* $NetBSD: ums.c,v 1.104 2023/07/20 20:00:34 mrg Exp $ */
/*
* Copyright (c) 1998, 2017 The NetBSD Foundation, Inc.
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ums.c,v 1.103 2022/03/28 12:44:17 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ums.c,v 1.104 2023/07/20 20:00:34 mrg Exp $");
#ifdef _KERNEL_OPT
#include "opt_usb.h"
@@ -48,6 +48,7 @@ __KERNEL_RCSID(0, "$NetBSD: ums.c,v 1.10
#include <sys/ioctl.h>
#include <sys/file.h>
#include <sys/select.h>
+#include <sys/sysctl.h>
#include <sys/proc.h>
#include <sys/vnode.h>
#include <sys/poll.h>
@@ -60,18 +61,60 @@ __KERNEL_RCSID(0, "$NetBSD: ums.c,v 1.10
#include <dev/usb/usbdevs.h>
#include <dev/usb/usb_quirks.h>
#include <dev/usb/uhidev.h>
+#include <dev/usb/usbhist.h>
#include <dev/hid/hid.h>
#include <dev/hid/hidms.h>
-#ifdef UMS_DEBUG
-#define DPRINTF(x) if (umsdebug) printf x
-#define DPRINTFN(n,x) if (umsdebug>(n)) printf x
-int umsdebug = 0;
+#ifdef USB_DEBUG
+#ifndef UMS_DEBUG
+#define umsdebug 0
#else
-#define DPRINTF(x)
-#define DPRINTFN(n,x)
+
+#ifndef UMS_DEBUG_DEFAULT
+#define UMS_DEBUG_DEFAULT 0
#endif
+static int umsdebug = UMS_DEBUG_DEFAULT;
+
+SYSCTL_SETUP(sysctl_hw_ums_setup, "sysctl hw.ums setup")
+{
+ int err;
+ const struct sysctlnode *rnode;
+ const struct sysctlnode *cnode;
+
+ err = sysctl_createv(clog, 0, NULL, &rnode,
+ CTLFLAG_PERMANENT, CTLTYPE_NODE, "ums",
+ SYSCTL_DESCR("ums global controls"),
+ NULL, 0, NULL, 0, CTL_HW, CTL_CREATE, CTL_EOL);
+
+ if (err)
+ goto fail;
+
+ /* control debugging printfs */
+ err = sysctl_createv(clog, 0, &rnode, &cnode,
+ CTLFLAG_PERMANENT|CTLFLAG_READWRITE, CTLTYPE_INT,
+ "debug", SYSCTL_DESCR("Enable debugging output"),
+ NULL, 0, &umsdebug, sizeof(umsdebug), CTL_CREATE, CTL_EOL);
+ if (err)
+ goto fail;
+
+ return;
+fail:
+ aprint_error("%s: sysctl_createv failed (err = %d)\n", __func__, err);
+}
+
+#endif /* UMS_DEBUG */
+#endif /* USB_DEBUG */
+
+#define DPRINTF(FMT,A,B,C,D) USBHIST_LOGN(umsdebug,1,FMT,A,B,C,D)
+#define DPRINTFN(N,FMT,A,B,C,D) USBHIST_LOGN(umsdebug,N,FMT,A,B,C,D)
+#define UMSHIST_FUNC() USBHIST_FUNC()
+#define UMSHIST_CALLED(name) USBHIST_CALLED(umsdebug)
+#define UMSHIST_CALLARGS(FMT,A,B,C,D) \
+ USBHIST_CALLARGS(umsdebug,FMT,A,B,C,D)
+#define UMSHIST_CALLARGSN(N,FMT,A,B,C,D) \
+ USBHIST_CALLARGSN(umsdebug,N,FMT,A,B,C,D)
+
#define UMSUNIT(s) (minor(s))
struct ums_softc {
@@ -273,7 +316,9 @@ ums_detach(device_t self, int flags)
struct ums_softc *sc = device_private(self);
int rv = 0;
- DPRINTF(("ums_detach: sc=%p flags=%d\n", sc, flags));
+ UMSHIST_FUNC();
+ UMSHIST_CALLARGS("ums_detach: sc=%qd flags=%qd\n",
+ (uintptr_t)sc, flags, 0, 0);
if (sc->sc_alwayson)
uhidev_close(sc->sc_hdev);
@@ -302,7 +347,7 @@ ums_enable(void *v)
struct ums_softc *sc = v;
int error = 0;
- DPRINTFN(1,("ums_enable: sc=%p\n", sc));
+ UMSHIST_FUNC(); UMSHIST_CALLARGS("sc=%jx\n", (uintptr_t)sc, 0, 0, 0);
if (sc->sc_dying)
return EIO;
@@ -327,7 +372,8 @@ ums_disable(void *v)
{
struct ums_softc *sc = v;
- DPRINTFN(1,("ums_disable: sc=%p\n", sc));
+ UMSHIST_FUNC(); UMSHIST_CALLARGS("sc=%jx\n", (uintptr_t)sc, 0, 0, 0);
+
#ifdef DIAGNOSTIC
if (!sc->sc_enabled) {
printf("ums_disable: not enabled\n");
Index: src/sys/dev/usb/usb.c
diff -u src/sys/dev/usb/usb.c:1.200 src/sys/dev/usb/usb.c:1.201
--- src/sys/dev/usb/usb.c:1.200 Sun Mar 13 11:28:52 2022
+++ src/sys/dev/usb/usb.c Thu Jul 20 20:00:34 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: usb.c,v 1.200 2022/03/13 11:28:52 riastradh Exp $ */
+/* $NetBSD: usb.c,v 1.201 2023/07/20 20:00:34 mrg Exp $ */
/*
* Copyright (c) 1998, 2002, 2008, 2012 The NetBSD Foundation, Inc.
@@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: usb.c,v 1.200 2022/03/13 11:28:52 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: usb.c,v 1.201 2023/07/20 20:00:34 mrg Exp $");
#ifdef _KERNEL_OPT
#include "opt_usb.h"
@@ -100,7 +100,11 @@ USBHIST_DEFINE(usbhist) = KERNHIST_INITI
*/
int usb_noexplore = 0;
-int usbdebug = 0;
+#ifndef USB_DEBUG_DEFAULT
+#define USB_DEBUG_DEFAULT 0
+#endif
+
+int usbdebug = USB_DEBUG_DEFAULT;
SYSCTL_SETUP(sysctl_hw_usb_setup, "sysctl hw.usb setup")
{
int err;