#include <xen/events.h>
#include <xen/grant_table.h>
#include <xen/xen.h>
#include <xen/xenbus.h>
#include "xen_snd_front.h"
#include "xen_snd_front_alsa.h"
#include "xen_snd_front_cfg.h"
#include "xen_snd_front_evtchnl.h"
static irqreturn_t evtchnl_interrupt_req(int irq, void *dev_id)
{ … }
static irqreturn_t evtchnl_interrupt_evt(int irq, void *dev_id)
{ … }
void xen_snd_front_evtchnl_flush(struct xen_snd_front_evtchnl *channel)
{ … }
static void evtchnl_free(struct xen_snd_front_info *front_info,
struct xen_snd_front_evtchnl *channel)
{ … }
void xen_snd_front_evtchnl_free_all(struct xen_snd_front_info *front_info)
{ … }
static int evtchnl_alloc(struct xen_snd_front_info *front_info, int index,
struct xen_snd_front_evtchnl *channel,
enum xen_snd_front_evtchnl_type type)
{ … }
int xen_snd_front_evtchnl_create_all(struct xen_snd_front_info *front_info,
int num_streams)
{ … }
static int evtchnl_publish(struct xenbus_transaction xbt,
struct xen_snd_front_evtchnl *channel,
const char *path, const char *node_ring,
const char *node_chnl)
{ … }
int xen_snd_front_evtchnl_publish_all(struct xen_snd_front_info *front_info)
{ … }
void xen_snd_front_evtchnl_pair_set_connected(struct xen_snd_front_evtchnl_pair *evt_pair,
bool is_connected)
{ … }
void xen_snd_front_evtchnl_pair_clear(struct xen_snd_front_evtchnl_pair *evt_pair)
{ … }