net/virtio: fix build without virtio-user
authorThomas Monjalon <thomas.monjalon@6wind.com>
Tue, 17 Jan 2017 22:13:00 +0000 (23:13 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Tue, 17 Jan 2017 22:25:08 +0000 (23:25 +0100)
When CONFIG_RTE_VIRTIO_USER is disabled (default on FreeBSD),
the virtio driver cannot be compiled:

librte_pmd_virtio.a(virtio_ethdev.o): In function `eth_virtio_dev_init':
(.text+0x1eba): undefined reference to `virtio_user_ops'

Reported-by: Andrew Rybchenko <arybchenko@solarflare.com>
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
drivers/net/virtio/virtio_ethdev.c

index 0fe99d5..1d51942 100644 (file)
@@ -1461,9 +1461,12 @@ virtio_remap_pci(struct rte_pci_device *pci_dev, struct virtio_hw *hw)
 static void
 virtio_set_vtpci_ops(struct virtio_hw *hw)
 {
+#ifdef RTE_VIRTIO_USER
        if (hw->virtio_user_dev)
                VTPCI_OPS(hw) = &virtio_user_ops;
-       else if (hw->modern)
+       else
+#endif
+       if (hw->modern)
                VTPCI_OPS(hw) = &modern_ops;
        else
                VTPCI_OPS(hw) = &legacy_ops;