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"

Reply via email to