When a virtio transport exposes a non-discoverable bus, the devicetree
can be used to declare its child devices (if any) and/or other
properties. To allow for that, the virtio framework searches for a node
with a suitable compatible in virtio_device_of_init() when registering
a device [1]; such compatible takes the form "virtio,deviceXX", where
XX is the hexadecimal representation of the virtio device ID as defined
by the virtio specification.

This patchset thus does not introduce a new functionality, but allows
proper validation of nodes tied to spi-virtio devices, aligning SPI to
what is already being done for e.g. I2C and GPIO virtio devices.
It was sent initially as part of a different patchset [2], but since it
complements a functionality that is de-facto already there and is useful
beyond that specific use case it was sent separately (also following the
maintainer's feedback there to separate it from remoteproc-specific
changes).

This was tested both with virtio-mmio using qemu-system-aarch64 and with
remoteproc-virtio with a Zephyr backend (with relevant remoteproc-virtio
parts still not not upstreamed - see [2]).

I added myself as reviewer for the spi-virtio driver to be CC'd on any
patch involving the new bindings.

Thank you!

Regards,
Francesco

[1] https://elixir.bootlin.com/linux/v7.2.8/source/drivers/virtio/virtio.c#L488
[2] 
https://lore.kernel.org/linux-remoteproc/[email protected]/

Signed-off-by: Francesco Valla <[email protected]>
---
Changes in v2:
- Expanded the commit message to better explain the functionality and
  the chosen compatible.
- Redundant pieces dropped from bindings.
- Link to v1: 
https://patch.msgid.link/[email protected]

To: Haixu Cui <[email protected]>
To: Francesco Valla <[email protected]>
To: Mark Brown <[email protected]>
To: Rob Herring <[email protected]>
To: Krzysztof Kozlowski <[email protected]>
To: Conor Dooley <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]

---
Francesco Valla (2):
      dt-bindings: spi: add spi-virtio
      MAINTAINERS: add Francesco as spi-virtio reviewer

 .../devicetree/bindings/spi/spi-virtio.yaml        | 46 ++++++++++++++++++++++
 MAINTAINERS                                        |  2 +
 2 files changed, 48 insertions(+)
---
base-commit: d135ab453a7400a34930bdda1ef4bdc8acfac80e
change-id: 20260927-spi-virtio-bindings-f4e350b2709a

Best regards,
--  
Francesco Valla <[email protected]>


Reply via email to