On Thu, Jan 23, 2025 at 02:01:00PM +0000, POPESCU Catalin wrote: > On 23/01/2025 12:15, Johan Hovold wrote: > > > > On Wed, Jan 22, 2025 at 02:47:32PM +0100, Catalin Popescu wrote: > >> A simple usb device has a single configuration and a single interface > >> and is considered as a "combined node" when defined in the devicetree. > >> If available, its interface node is simply ignored which is a problem > >> whenever the interface node has subnodes. To prevent that from happening > >> first check for any subnode and ignore the interface node only if no > >> subnode was found. > >> > >> Example: FTDI chip FT234XD that has only one UART interface which is > >> being used as a serdev by other driver. > >> > >> device@1 { > >> compatible = "usb403,6015"; > >> reg = <1>; > >> > >> #address-cells = <2>; > >> #size-cells = <0>; > >> > >> interface@0 { > >> compatible = "usbif403,6015.config1.0"; > > Your example makes no sense since if this is the only interface then the > > interface node should not be here. > > That's the problem my patch is trying to address ... > Why is it OK to describe multiple interfaces and it is not OK to > describe the interface of a simple USB device ? It's part of the spec. See commit 1a7e3948cb9f ("USB: add device-tree support for interfaces") and its reference to "Open Firmware Recommended Practice: Universal Serial Bus Version 1". Johan