Re: [PATCH] usb: core: support interface node for simple USB devices

POPESCU Catalin
2025-01-23T16:33:58Z

On 23/01/2025 16:20, Johan Hovold wrote:
> [Some people who received this message don't often get email from johan@kernel.org. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
>
> This email is not from Hexagon’s Office 365 instance. Please be careful while clicking links, opening attachments, or replying to this email.
>
>
> 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".
I see, thanks a lot for the clarification.
BR,
> Johan