#include <linux/module.h>
#include <linux/slab.h>
#include <linux/vfio.h>
#include <linux/pm_runtime.h>
#include <linux/platform_device.h>
#include "vfio_platform_private.h"
#define DRIVER_VERSION …
#define DRIVER_AUTHOR …
#define DRIVER_DESC …
static bool reset_required = …;
module_param(reset_required, bool, 0444);
MODULE_PARM_DESC(…) …;
static struct resource *get_platform_resource(struct vfio_platform_device *vdev,
int num)
{ … }
static int get_platform_irq(struct vfio_platform_device *vdev, int i)
{ … }
static int vfio_platform_init_dev(struct vfio_device *core_vdev)
{ … }
static const struct vfio_device_ops vfio_platform_ops;
static int vfio_platform_probe(struct platform_device *pdev)
{ … }
static void vfio_platform_release_dev(struct vfio_device *core_vdev)
{ … }
static void vfio_platform_remove(struct platform_device *pdev)
{ … }
static const struct vfio_device_ops vfio_platform_ops = …;
static struct platform_driver vfio_platform_driver = …;
module_platform_driver(…) …;
MODULE_VERSION(…);
MODULE_LICENSE(…) …;
MODULE_AUTHOR(…);
MODULE_DESCRIPTION(…);