On 13-12-22, 13:45, Oleksandr Tyshchenko wrote:
On 13.12.22 12:08, Viresh Kumar wrote:
+/* Virtio device types */ +#define VIRTIO_DEVICE_TYPE_GENERIC "virtio,device" +#define VIRTIO_DEVICE_TYPE_GPIO "virtio,device22" +#define VIRTIO_DEVICE_TYPE_I2C "virtio,device29"
Sorry for pointing this out only now, I have just realized that this doesn't match device-tree bindings. According to the bindings they should be the other way around:
#define VIRTIO_DEVICE_TYPE_I2C "virtio,device22" #define VIRTIO_DEVICE_TYPE_GPIO "virtio,device29"
That's a shocker, as I definitely tested this.
Now that I went back and looked at how it didn't break my system, I found the reason. The string passed in domu.conf in my case is the valid one: "virtio,device22", which ended up creating a GPIO node eventually, but with the compatible value of I2C. The kernel didn't complain as for I2C only the compatible string is checked currently.