Skip to content

Commit

Permalink
virtio: Allow virtio to be modular and used by modules
Browse files Browse the repository at this point in the history
This is needed for the virtio PCI device to be compiled as a module.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
  • Loading branch information
Rusty Russell committed Feb 4, 2008
1 parent 15f9c89 commit c6fd470
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 2 deletions.
4 changes: 2 additions & 2 deletions drivers/virtio/Kconfig
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Virtio always gets selected by whoever wants it.
config VIRTIO
bool
tristate

# Similarly the virtio ring implementation.
config VIRTIO_RING
bool
tristate
depends on VIRTIO
8 changes: 8 additions & 0 deletions drivers/virtio/virtio.c
Original file line number Diff line number Diff line change
Expand Up @@ -162,4 +162,12 @@ static int virtio_init(void)
panic("virtio bus registration failed");
return 0;
}

static void __exit virtio_exit(void)
{
bus_unregister(&virtio_bus);
}
core_initcall(virtio_init);
module_exit(virtio_exit);

MODULE_LICENSE("GPL");
4 changes: 4 additions & 0 deletions drivers/virtio/virtio_ring.c
Original file line number Diff line number Diff line change
Expand Up @@ -266,6 +266,7 @@ irqreturn_t vring_interrupt(int irq, void *_vq)

return IRQ_HANDLED;
}
EXPORT_SYMBOL_GPL(vring_interrupt);

static struct virtqueue_ops vring_vq_ops = {
.add_buf = vring_add_buf,
Expand Down Expand Up @@ -318,9 +319,12 @@ struct virtqueue *vring_new_virtqueue(unsigned int num,

return &vq->vq;
}
EXPORT_SYMBOL_GPL(vring_new_virtqueue);

void vring_del_virtqueue(struct virtqueue *vq)
{
kfree(to_vvq(vq));
}
EXPORT_SYMBOL_GPL(vring_del_virtqueue);

MODULE_LICENSE("GPL");

0 comments on commit c6fd470

Please sign in to comment.