Index: sys/dev/virtio/balloon/virtio_balloon.c =================================================================== --- sys/dev/virtio/balloon/virtio_balloon.c +++ sys/dev/virtio/balloon/virtio_balloon.c @@ -152,17 +152,14 @@ }; static devclass_t vtballoon_devclass; -DRIVER_MODULE(virtio_balloon, virtio_mmio, vtballoon_driver, - vtballoon_devclass, 0, 0); -DRIVER_MODULE(virtio_balloon, virtio_pci, vtballoon_driver, +DRIVER_MODULE(virtio_balloon, virtio, vtballoon_driver, vtballoon_devclass, 0, 0); MODULE_VERSION(virtio_balloon, 1); MODULE_DEPEND(virtio_balloon, virtio, 1, 1, 1); VIRTIO_SIMPLE_PNPTABLE(virtio_balloon, VIRTIO_ID_BALLOON, "VirtIO Balloon Adapter"); -VIRTIO_SIMPLE_PNPINFO(virtio_mmio, virtio_balloon); -VIRTIO_SIMPLE_PNPINFO(virtio_pci, virtio_balloon); +VIRTIO_SIMPLE_PNPINFO(virtio_balloon); static int vtballoon_probe(device_t dev) Index: sys/dev/virtio/block/virtio_blk.c =================================================================== --- sys/dev/virtio/block/virtio_blk.c +++ sys/dev/virtio/block/virtio_blk.c @@ -256,16 +256,13 @@ }; static devclass_t vtblk_devclass; -DRIVER_MODULE(virtio_blk, virtio_mmio, vtblk_driver, vtblk_devclass, - vtblk_modevent, 0); -DRIVER_MODULE(virtio_blk, virtio_pci, vtblk_driver, vtblk_devclass, +DRIVER_MODULE(virtio_blk, virtio, vtblk_driver, vtblk_devclass, vtblk_modevent, 0); MODULE_VERSION(virtio_blk, 1); MODULE_DEPEND(virtio_blk, virtio, 1, 1, 1); VIRTIO_SIMPLE_PNPTABLE(virtio_blk, VIRTIO_ID_BLOCK, "VirtIO Block Adapter"); -VIRTIO_SIMPLE_PNPINFO(virtio_mmio, virtio_blk); -VIRTIO_SIMPLE_PNPINFO(virtio_pci, virtio_blk); +VIRTIO_SIMPLE_PNPINFO(virtio_blk); static int vtblk_modevent(module_t mod, int type, void *unused) Index: sys/dev/virtio/console/virtio_console.c =================================================================== --- sys/dev/virtio/console/virtio_console.c +++ sys/dev/virtio/console/virtio_console.c @@ -255,17 +255,14 @@ }; static devclass_t vtcon_devclass; -DRIVER_MODULE(virtio_console, virtio_mmio, vtcon_driver, vtcon_devclass, - vtcon_modevent, 0); -DRIVER_MODULE(virtio_console, virtio_pci, vtcon_driver, vtcon_devclass, +DRIVER_MODULE(virtio_console, virtio, vtcon_driver, vtcon_devclass, vtcon_modevent, 0); MODULE_VERSION(virtio_console, 1); MODULE_DEPEND(virtio_console, virtio, 1, 1, 1); VIRTIO_SIMPLE_PNPTABLE(virtio_console, VIRTIO_ID_CONSOLE, "VirtIO Console Adapter"); -VIRTIO_SIMPLE_PNPINFO(virtio_mmio, virtio_console); -VIRTIO_SIMPLE_PNPINFO(virtio_pci, virtio_console); +VIRTIO_SIMPLE_PNPINFO(virtio_console); static int vtcon_modevent(module_t mod, int type, void *unused) Index: sys/dev/virtio/mmio/virtio_mmio.c =================================================================== --- sys/dev/virtio/mmio/virtio_mmio.c +++ sys/dev/virtio/mmio/virtio_mmio.c @@ -166,7 +166,7 @@ DEVMETHOD_END }; -DEFINE_CLASS_0(virtio_mmio, vtmmio_driver, vtmmio_methods, +DEFINE_CLASS_0(virtio, vtmmio_driver, vtmmio_methods, sizeof(struct vtmmio_softc)); MODULE_VERSION(virtio_mmio, 1); Index: sys/dev/virtio/mmio/virtio_mmio_acpi.c =================================================================== --- sys/dev/virtio/mmio/virtio_mmio_acpi.c +++ sys/dev/virtio/mmio/virtio_mmio_acpi.c @@ -62,7 +62,7 @@ DEVMETHOD_END }; -DEFINE_CLASS_1(virtio_mmio, vtmmio_acpi_driver, vtmmio_acpi_methods, +DEFINE_CLASS_1(virtio, vtmmio_acpi_driver, vtmmio_acpi_methods, sizeof(struct vtmmio_softc), vtmmio_driver); static devclass_t vtmmio_acpi_devclass; Index: sys/dev/virtio/mmio/virtio_mmio_fdt.c =================================================================== --- sys/dev/virtio/mmio/virtio_mmio_fdt.c +++ sys/dev/virtio/mmio/virtio_mmio_fdt.c @@ -76,7 +76,7 @@ DEVMETHOD_END }; -DEFINE_CLASS_1(virtio_mmio, vtmmio_fdt_driver, vtmmio_fdt_methods, +DEFINE_CLASS_1(virtio, vtmmio_fdt_driver, vtmmio_fdt_methods, sizeof(struct vtmmio_softc), vtmmio_driver); static devclass_t vtmmio_fdt_devclass; Index: sys/dev/virtio/network/if_vtnet.c =================================================================== --- sys/dev/virtio/network/if_vtnet.c +++ sys/dev/virtio/network/if_vtnet.c @@ -317,9 +317,7 @@ }; static devclass_t vtnet_devclass; -DRIVER_MODULE(vtnet, virtio_mmio, vtnet_driver, vtnet_devclass, - vtnet_modevent, 0); -DRIVER_MODULE(vtnet, virtio_pci, vtnet_driver, vtnet_devclass, +DRIVER_MODULE(vtnet, virtio, vtnet_driver, vtnet_devclass, vtnet_modevent, 0); MODULE_VERSION(vtnet, 1); MODULE_DEPEND(vtnet, virtio, 1, 1, 1); @@ -328,8 +326,7 @@ #endif /* DEV_NETMAP */ VIRTIO_SIMPLE_PNPTABLE(vtnet, VIRTIO_ID_NETWORK, "VirtIO Networking Adapter"); -VIRTIO_SIMPLE_PNPINFO(virtio_mmio, vtnet); -VIRTIO_SIMPLE_PNPINFO(virtio_pci, vtnet); +VIRTIO_SIMPLE_PNPINFO(vtnet); static int vtnet_modevent(module_t mod, int type, void *unused) Index: sys/dev/virtio/pci/virtio_pci.c =================================================================== --- sys/dev/virtio/pci/virtio_pci.c +++ sys/dev/virtio/pci/virtio_pci.c @@ -233,11 +233,8 @@ DEVMETHOD_END }; -static driver_t vtpci_driver = { - "virtio_pci", - vtpci_methods, - sizeof(struct vtpci_softc) -}; +DEFINE_CLASS_0(virtio, vtpci_driver, vtpci_methods, + sizeof(struct vtpci_softc)); devclass_t vtpci_devclass; Index: sys/dev/virtio/random/virtio_random.c =================================================================== --- sys/dev/virtio/random/virtio_random.c +++ sys/dev/virtio/random/virtio_random.c @@ -96,9 +96,7 @@ }; static devclass_t vtrnd_devclass; -DRIVER_MODULE(virtio_random, virtio_mmio, vtrnd_driver, vtrnd_devclass, - vtrnd_modevent, 0); -DRIVER_MODULE(virtio_random, virtio_pci, vtrnd_driver, vtrnd_devclass, +DRIVER_MODULE(virtio_random, virtio, vtrnd_driver, vtrnd_devclass, vtrnd_modevent, 0); MODULE_VERSION(virtio_random, 1); MODULE_DEPEND(virtio_random, virtio, 1, 1, 1); @@ -106,8 +104,7 @@ VIRTIO_SIMPLE_PNPTABLE(virtio_random, VIRTIO_ID_ENTROPY, "VirtIO Entropy Adapter"); -VIRTIO_SIMPLE_PNPINFO(virtio_mmio, virtio_random); -VIRTIO_SIMPLE_PNPINFO(virtio_pci, virtio_random); +VIRTIO_SIMPLE_PNPINFO(virtio_random); static int vtrnd_modevent(module_t mod, int type, void *unused) Index: sys/dev/virtio/scsi/virtio_scsi.c =================================================================== --- sys/dev/virtio/scsi/virtio_scsi.c +++ sys/dev/virtio/scsi/virtio_scsi.c @@ -227,17 +227,14 @@ }; static devclass_t vtscsi_devclass; -DRIVER_MODULE(virtio_scsi, virtio_mmio, vtscsi_driver, vtscsi_devclass, - vtscsi_modevent, 0); -DRIVER_MODULE(virtio_scsi, virtio_pci, vtscsi_driver, vtscsi_devclass, +DRIVER_MODULE(virtio_scsi, virtio, vtscsi_driver, vtscsi_devclass, vtscsi_modevent, 0); MODULE_VERSION(virtio_scsi, 1); MODULE_DEPEND(virtio_scsi, virtio, 1, 1, 1); MODULE_DEPEND(virtio_scsi, cam, 1, 1, 1); VIRTIO_SIMPLE_PNPTABLE(virtio_scsi, VIRTIO_ID_SCSI, "VirtIO SCSI Adapter"); -VIRTIO_SIMPLE_PNPINFO(virtio_mmio, virtio_scsi); -VIRTIO_SIMPLE_PNPINFO(virtio_pci, virtio_scsi); +VIRTIO_SIMPLE_PNPINFO(virtio_scsi); static int vtscsi_modevent(module_t mod, int type, void *unused) Index: sys/dev/virtio/virtio.h =================================================================== --- sys/dev/virtio/virtio.h +++ sys/dev/virtio/virtio.h @@ -72,8 +72,8 @@ .device_type = devtype, \ .description = desc, \ } -#define VIRTIO_SIMPLE_PNPINFO(bus, driver) \ - MODULE_PNP_INFO("U32:device_type;D:#", bus, driver, \ +#define VIRTIO_SIMPLE_PNPINFO(driver) \ + MODULE_PNP_INFO("U32:device_type;D:#", virtio, driver, \ &driver ## _match, 1) #define VIRTIO_SIMPLE_PROBE(dev, driver) \ (virtio_simple_probe(dev, &driver ## _match))