#include "ivtv-driver.h"
#include "ivtv-mailbox.h"
#define IVTV_MBOX_FIRMWARE_DONE …
#define IVTV_MBOX_DRIVER_DONE …
#define IVTV_MBOX_DRIVER_BUSY …
#define IVTV_MBOX_FREE …
#define IVTV_API_STD_TIMEOUT …
#define API_CACHE …
#define API_RESULT …
#define API_FAST_RESULT …
#define API_DMA …
#define API_HIGH_VOL …
#define API_NO_WAIT_MB …
#define API_NO_WAIT_RES …
#define API_NO_POLL …
struct ivtv_api_info { … };
#define API_ENTRY(x, f) …
static const struct ivtv_api_info api_info[256] = …;
static int try_mailbox(struct ivtv *itv, struct ivtv_mailbox_data *mbdata, int mb)
{ … }
static int get_mailbox(struct ivtv *itv, struct ivtv_mailbox_data *mbdata, int flags)
{ … }
static void write_mailbox(volatile struct ivtv_mailbox __iomem *mbox, int cmd, int args, u32 data[])
{ … }
static void clear_all_mailboxes(struct ivtv *itv, struct ivtv_mailbox_data *mbdata)
{ … }
static int ivtv_api_call(struct ivtv *itv, int cmd, int args, u32 data[])
{ … }
int ivtv_api(struct ivtv *itv, int cmd, int args, u32 data[])
{ … }
int ivtv_api_func(void *priv, u32 cmd, int in, int out, u32 data[CX2341X_MBOX_MAX_DATA])
{ … }
int ivtv_vapi_result(struct ivtv *itv, u32 data[CX2341X_MBOX_MAX_DATA], int cmd, int args, ...)
{ … }
int ivtv_vapi(struct ivtv *itv, int cmd, int args, ...)
{ … }
void ivtv_api_get_data(struct ivtv_mailbox_data *mbdata, int mb,
int argc, u32 data[])
{ … }
void ivtv_mailbox_cache_invalidate(struct ivtv *itv)
{ … }