Re: [PATCH 3/6] dt-bindings: Add Bao I/O dispatcher driver binding

From: Krzysztof Kozlowski

Date: Fri Aug 07 2026 - 03:52:44 EST


On 07/08/2026 09:43, João Peixoto wrote:
>
> On 1/7/26 16:47, Krzysztof Kozlowski wrote:
>> On 07/01/2026 17:28,joaopeixoto@xxxxxxxxx wrote:
>>> From: João Peixoto<joaopeixoto@xxxxxxxxx>
>>>
>>> This patch introduces a device tree binding for the Bao I/O Dispatcher,
>>> a device used in backend VMs running virtualized devices (e.g., VirtIO).
>>>
>>> Signed-off-by: João Peixoto<joaopeixoto@xxxxxxxxx>
>>> ---
>>> .../bindings/bao/bao,io-dispatcher.yaml | 75 +++++++++++++++++++
>>> 1 file changed, 75 insertions(+)
>>> create mode 100644 Documentation/devicetree/bindings/bao/bao,io-dispatcher.yaml
>>>
>>> diff --git a/Documentation/devicetree/bindings/bao/bao,io-dispatcher.yaml b/Documentation/devicetree/bindings/bao/bao,io-dispatcher.yaml
>>> new file mode 100644
>>> index 000000000000..8ca450e4b9d5
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/bao/bao,io-dispatcher.yaml
>>> @@ -0,0 +1,75 @@
>>> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
>>> +%YAML 1.2
>>> +---
>>> +$id:http://devicetree.org/schemas/bao/bao,io-dispatcher.yaml#
>>> +$schema:http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Bao I/O Dispatcher Device
>> No, you don't get multiple devices per every driver.
>>
>> Look at gunyah or Mediatek Genio. Come back when you solve ENTIRE
>> FEEDBACK given to them first. And then say how you solved that feedback
>> because so far I see you only ignoring review of your LLM slop or other
>> Microslop product.
>>
>> Best regards,
>> Krzysztof
> Thanks for the pointers, and sorry for the earlier churn. I looked at how
> gunyah and the Mediatek Genio bindings model this and reworked the
> dispatcher
> the same way: there is no longer a single node describing N devices. Each
> backend device is its own node with one reg region and one interrupt:
>
>   shmem@50000000 {
>       compatible = "bao,io-dispatcher";
>       reg = <0x50000000 0x01000000>;
>       interrupts = <0x0 0x08 0x1>;
>       bao,id = <0>;
>   };
>
> A backend guest that services several frontends instantiates several such
> nodes. reg and interrupts therefore have maxItems: 1. The driver was
> rewritten to match (one platform device -> one device model -> one
> /dev/bao-dmX) dropping the internal N-device array, the global DM list and
> the indirection ioctl.
>
> I have also gone through the rest of the feedback on the series (the
> ipcshmem
> binding, the misc-device conversion, commit messages, changelog, threading)
> and addressed each item; the cover letter enumerates them. The binding
> passes
> `make dt_binding_check`.

Where is any upstream DTS using this? Why do we want another software
nodes in DT?

Best regards,
Krzysztof