virtio: Allow virtio to be modular and used by modules
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>
This commit is contained in:
parent
15f9c8903c
commit
c6fd47011b
@ -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
|
||||
|
@ -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");
|
||||
|
@ -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,
|
||||
@ -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");
|
||||
|
Loading…
Reference in New Issue
Block a user