#include <linux/eventfd.h>
#include <linux/file.h>
#include <linux/poll.h>
#include <linux/slab.h>
#include "acrn_drv.h"
static LIST_HEAD(acrn_irqfd_clients);
struct hsm_irqfd { … };
static void acrn_irqfd_inject(struct hsm_irqfd *irqfd)
{ … }
static void hsm_irqfd_shutdown(struct hsm_irqfd *irqfd)
{ … }
static void hsm_irqfd_shutdown_work(struct work_struct *work)
{ … }
static int hsm_irqfd_wakeup(wait_queue_entry_t *wait, unsigned int mode,
int sync, void *key)
{ … }
static void hsm_irqfd_poll_func(struct file *file, wait_queue_head_t *wqh,
poll_table *pt)
{ … }
static int acrn_irqfd_assign(struct acrn_vm *vm, struct acrn_irqfd *args)
{ … }
static int acrn_irqfd_deassign(struct acrn_vm *vm,
struct acrn_irqfd *args)
{ … }
int acrn_irqfd_config(struct acrn_vm *vm, struct acrn_irqfd *args)
{ … }
int acrn_irqfd_init(struct acrn_vm *vm)
{ … }
void acrn_irqfd_deinit(struct acrn_vm *vm)
{ … }