#include <linux/export.h>
#include <linux/slab.h>
#include <linux/dma-fence-array.h>
#define PENDING_ERROR …
static const char *dma_fence_array_get_driver_name(struct dma_fence *fence)
{ … }
static const char *dma_fence_array_get_timeline_name(struct dma_fence *fence)
{ … }
static void dma_fence_array_set_pending_error(struct dma_fence_array *array,
int error)
{ … }
static void dma_fence_array_clear_pending_error(struct dma_fence_array *array)
{ … }
static void irq_dma_fence_array_work(struct irq_work *wrk)
{ … }
static void dma_fence_array_cb_func(struct dma_fence *f,
struct dma_fence_cb *cb)
{ … }
static bool dma_fence_array_enable_signaling(struct dma_fence *fence)
{ … }
static bool dma_fence_array_signaled(struct dma_fence *fence)
{ … }
static void dma_fence_array_release(struct dma_fence *fence)
{ … }
static void dma_fence_array_set_deadline(struct dma_fence *fence,
ktime_t deadline)
{ … }
const struct dma_fence_ops dma_fence_array_ops = …;
EXPORT_SYMBOL(…);
struct dma_fence_array *dma_fence_array_create(int num_fences,
struct dma_fence **fences,
u64 context, unsigned seqno,
bool signal_on_any)
{ … }
EXPORT_SYMBOL(…);
bool dma_fence_match_context(struct dma_fence *fence, u64 context)
{ … }
EXPORT_SYMBOL(…);
struct dma_fence *dma_fence_array_first(struct dma_fence *head)
{ … }
EXPORT_SYMBOL(…);
struct dma_fence *dma_fence_array_next(struct dma_fence *head,
unsigned int index)
{ … }
EXPORT_SYMBOL(…);