linux/drivers/vfio/platform/vfio_platform_irq.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * VFIO platform devices interrupt handling
 *
 * Copyright (C) 2013 - Virtual Open Systems
 * Author: Antonios Motakis <[email protected]>
 */

#include <linux/eventfd.h>
#include <linux/interrupt.h>
#include <linux/slab.h>
#include <linux/types.h>
#include <linux/vfio.h>
#include <linux/irq.h>

#include "vfio_platform_private.h"

static void vfio_platform_mask(struct vfio_platform_irq *irq_ctx)
{}

static int vfio_platform_mask_handler(void *opaque, void *unused)
{}

static int vfio_platform_set_irq_mask(struct vfio_platform_device *vdev,
				      unsigned index, unsigned start,
				      unsigned count, uint32_t flags,
				      void *data)
{}

static void vfio_platform_unmask(struct vfio_platform_irq *irq_ctx)
{}

static int vfio_platform_unmask_handler(void *opaque, void *unused)
{}

static int vfio_platform_set_irq_unmask(struct vfio_platform_device *vdev,
					unsigned index, unsigned start,
					unsigned count, uint32_t flags,
					void *data)
{}

/*
 * The trigger eventfd is guaranteed valid in the interrupt path
 * and protected by the igate mutex when triggered via ioctl.
 */
static void vfio_send_eventfd(struct vfio_platform_irq *irq_ctx)
{}

static irqreturn_t vfio_automasked_irq_handler(int irq, void *dev_id)
{}

static irqreturn_t vfio_irq_handler(int irq, void *dev_id)
{}

static int vfio_set_trigger(struct vfio_platform_device *vdev, int index,
			    int fd)
{}

static int vfio_platform_set_irq_trigger(struct vfio_platform_device *vdev,
					 unsigned index, unsigned start,
					 unsigned count, uint32_t flags,
					 void *data)
{}

int vfio_platform_set_irqs_ioctl(struct vfio_platform_device *vdev,
				 uint32_t flags, unsigned index, unsigned start,
				 unsigned count, void *data)
{}

int vfio_platform_irq_init(struct vfio_platform_device *vdev)
{}

void vfio_platform_irq_cleanup(struct vfio_platform_device *vdev)
{}