On Tue, Aug 23, 2022 at 08:24:24AM -0600, Theo de Raadt wrote: > Jonathan Gray <j...@jsg.id.au> wrote: > > > > > > > I could recompile and see the device listed as ugen(4): > > > > > > $ dmesg | grep pico-debug > > > ugen1 at uhub4 port 2 "pico-debug CMSIS-DAP" rev 1.10/10.05 addr 2 > > > > "Peter Lawrence CMSIS-DAP Dapper Miser" is a rather large string > > especially as the device already provides one > > > > why not just "pico-debug" or "Dapper Miser"? > > > I've been wondering about this for a while. > > > All of these strings go into all kernels, using memory. If we know a > device provides a name, we always print the device-provided name, right? > Can we therefore skip the name entirely in usbdevs, or is usbdevs too dumb > to handle empty names?
Index: usbdevs =================================================================== RCS file: /cvs/src/sys/dev/usb/usbdevs,v retrieving revision 1.747 diff -u -p -r1.747 usbdevs --- usbdevs 23 Jun 2022 00:31:37 -0000 1.747 +++ usbdevs 23 Aug 2022 14:39:28 -0000 @@ -2432,6 +2432,7 @@ product INTEL2 RMH_8 0x800a Rate Matchi product INTERBIO IOBOARD 0x1002 IO Board product INTERBIO MINIIOBOARD 0x1003 Mini IO Board product INTERBIO MINIIOBOARD2 0x1006 Mini IO Board +product INTERBIO DAPPERMISER 0x2488 /* Intersil products */ product INTERSIL PRISM_GT 0x1000 PrismGT USB 2.0 WLAN results in a usbdevs_data.h entry of { USB_VENDOR_INTERBIO, USB_PRODUCT_INTERBIO_DAPPERMISER, "", }, reading usb_subr.c usbd_cache_devinfo() that should work though if the device doesn't provide a string and we don't either we will print "" instead of "product 0x0x2488"