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.
|
# Virtio always gets selected by whoever wants it.
|
||||||
config VIRTIO
|
config VIRTIO
|
||||||
bool
|
tristate
|
||||||
|
|
||||||
# Similarly the virtio ring implementation.
|
# Similarly the virtio ring implementation.
|
||||||
config VIRTIO_RING
|
config VIRTIO_RING
|
||||||
bool
|
tristate
|
||||||
depends on VIRTIO
|
depends on VIRTIO
|
||||||
|
@ -162,4 +162,12 @@ static int virtio_init(void)
|
|||||||
panic("virtio bus registration failed");
|
panic("virtio bus registration failed");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void __exit virtio_exit(void)
|
||||||
|
{
|
||||||
|
bus_unregister(&virtio_bus);
|
||||||
|
}
|
||||||
core_initcall(virtio_init);
|
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;
|
return IRQ_HANDLED;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(vring_interrupt);
|
||||||
|
|
||||||
static struct virtqueue_ops vring_vq_ops = {
|
static struct virtqueue_ops vring_vq_ops = {
|
||||||
.add_buf = vring_add_buf,
|
.add_buf = vring_add_buf,
|
||||||
@ -318,9 +319,12 @@ struct virtqueue *vring_new_virtqueue(unsigned int num,
|
|||||||
|
|
||||||
return &vq->vq;
|
return &vq->vq;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(vring_new_virtqueue);
|
||||||
|
|
||||||
void vring_del_virtqueue(struct virtqueue *vq)
|
void vring_del_virtqueue(struct virtqueue *vq)
|
||||||
{
|
{
|
||||||
kfree(to_vvq(vq));
|
kfree(to_vvq(vq));
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(vring_del_virtqueue);
|
||||||
|
|
||||||
|
MODULE_LICENSE("GPL");
|
||||||
|
Loading…
Reference in New Issue
Block a user