Hi, I'm trying to understand how the "compatible" property might be used in USB device nodes. The document "Open Firmware Recommended Practice: Universal Serial Bus Version 1" [0] defines a "compatible" property format for USB device nodes. At present, the kernel does not check this property and it appears to be purely cosmetic. For example, the following line conforms for the above spec [0], but it is not referenced or checked at all in the kernel: arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi:10:compatible = "usb424,9512"; Instead, each USB device driver defines a `struct usb_device_id` array containing device vendor IDs (VID) and product IDs (PID) listing all the compatible devices. The following patch mentions that "compatible" property is not /currently/ used for device or interface nodes: 1a7e3948cb9f USB: add device-tree support for interfaces So, my question is: how /would/ it be used? It seems to me that this is a redundant definition in the USB OF spec, as USB core already has a mechanism for driver detection. Also, what happens if the compatible string is wrong? Any input would be greatly appreciated. Many thanks, Thomas [0] https://www.openbios.org/data/docs/bus.usb.pdf