Re: [PATCH V3 5/5] virtio: Bind virtio device to device-tree node

From: Guenter Roeck
Date: Mon Sep 13 2021 - 12:19:12 EST


On Mon, Sep 13, 2021 at 07:49:07AM -0700, Guenter Roeck wrote:
> On Mon, Jul 26, 2021 at 10:21:45AM +0530, Viresh Kumar wrote:
> > Bind the virtio devices with their of_node. This will help users of the
> > virtio devices to mention their dependencies on the device in the DT
> > itself. Like GPIO pin users can use the phandle of the device node, or
> > the node may contain more subnodes to add i2c or spi eeproms and other
> > users.
> >
> > Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx>
> > Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
>
> This patch causes a boot failure on sparc64: The virtio device no longer
> instantiates. Reverting this patch fixes the problem. Bisect log attached.
>

In case it matters: The problem is here:

+ if (!of_device_is_compatible(np, compat)) {
+ ret = -EINVAL;
+ goto out;
+ }

Guenter

> Guenter
>
> ---
> # bad: [6880fa6c56601bb8ed59df6c30fd390cc5f6dd8f] Linux 5.15-rc1
> # good: [926de8c4326c14fcf35f1de142019043597a4fac] Merge tag 'acpi-5.15-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
> git bisect start 'HEAD' '926de8c4326c'
> # good: [8177a5c96229ff24da1e362789e359b68b4f34f5] Merge tag 'libata-5.15-2021-09-11' of git://git.kernel.dk/linux-block
> git bisect good 8177a5c96229ff24da1e362789e359b68b4f34f5
> # bad: [78e709522d2c012cb0daad2e668506637bffb7c2] Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
> git bisect bad 78e709522d2c012cb0daad2e668506637bffb7c2
> # bad: [7bc7f61897b66bef78bb5952e3d1e9f3aaf9ccca] Documentation: Add documentation for VDUSE
> git bisect bad 7bc7f61897b66bef78bb5952e3d1e9f3aaf9ccca
> # bad: [41116599a0731f4cd451e9d191d879ab45e31945] virtio/vsock: add 'VIRTIO_VSOCK_SEQ_EOR' bit.
> git bisect bad 41116599a0731f4cd451e9d191d879ab45e31945
> # good: [5262912ef3cfc5e518892c3d67fb36412cb813e2] vdpa/mlx5: Add support for control VQ and MAC setting
> git bisect good 5262912ef3cfc5e518892c3d67fb36412cb813e2
> # good: [7f815fce08d563006e43d1b7d2f9a0a4f3b832f3] dt-bindings: i2c: Add bindings for i2c-virtio
> git bisect good 7f815fce08d563006e43d1b7d2f9a0a4f3b832f3
> # good: [d5a8680dfab0547a4ecd708b1fe9de48598a6757] uapi: virtio_ids: Sync ids with specification
> git bisect good d5a8680dfab0547a4ecd708b1fe9de48598a6757
> # bad: [9af8f1061646e8e22b66413bedf7b3e2ab3d69e5] virtio/vsock: rename 'EOR' to 'EOM' bit.
> git bisect bad 9af8f1061646e8e22b66413bedf7b3e2ab3d69e5
> # bad: [694a1116b405d887c893525a6766b390989c8606] virtio: Bind virtio device to device-tree node
> git bisect bad 694a1116b405d887c893525a6766b390989c8606
> # first bad commit: [694a1116b405d887c893525a6766b390989c8606] virtio: Bind virtio device to device-tree node