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

Krzysztof Kozlowski krzk at kernel.org
Fri Aug 7 00:51:50 PDT 2026


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 at osyx.tech wrote:
>>> From: João Peixoto<joaopeixoto at osyx.tech>
>>>
>>> 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 at osyx.tech>
>>> ---
>>>   .../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 at 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



More information about the linux-arm-kernel mailing list