#include <linux/device.h>
#include <linux/dmaengine.h>
#include <linux/module.h>
#include <linux/spinlock.h>
#include "virt-dma.h"
static struct virt_dma_desc *to_virt_desc(struct dma_async_tx_descriptor *tx)
{ … }
dma_cookie_t vchan_tx_submit(struct dma_async_tx_descriptor *tx)
{ … }
EXPORT_SYMBOL_GPL(…);
int vchan_tx_desc_free(struct dma_async_tx_descriptor *tx)
{ … }
EXPORT_SYMBOL_GPL(…);
struct virt_dma_desc *vchan_find_desc(struct virt_dma_chan *vc,
dma_cookie_t cookie)
{ … }
EXPORT_SYMBOL_GPL(…);
static void vchan_complete(struct tasklet_struct *t)
{ … }
void vchan_dma_desc_free_list(struct virt_dma_chan *vc, struct list_head *head)
{ … }
EXPORT_SYMBOL_GPL(…);
void vchan_init(struct virt_dma_chan *vc, struct dma_device *dmadev)
{ … }
EXPORT_SYMBOL_GPL(…);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;