linux/drivers/vfio/fsl-mc/vfio_fsl_mc.c

// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
/*
 * Copyright 2013-2016 Freescale Semiconductor Inc.
 * Copyright 2016-2017,2019-2020 NXP
 */

#include <linux/device.h>
#include <linux/iommu.h>
#include <linux/module.h>
#include <linux/mutex.h>
#include <linux/slab.h>
#include <linux/types.h>
#include <linux/vfio.h>
#include <linux/fsl/mc.h>
#include <linux/delay.h>
#include <linux/io-64-nonatomic-hi-lo.h>

#include "vfio_fsl_mc_private.h"

static struct fsl_mc_driver vfio_fsl_mc_driver;

static int vfio_fsl_mc_open_device(struct vfio_device *core_vdev)
{}

static void vfio_fsl_mc_regions_cleanup(struct vfio_fsl_mc_device *vdev)
{}

static int vfio_fsl_mc_reset_device(struct vfio_fsl_mc_device *vdev)
{}

static void vfio_fsl_mc_close_device(struct vfio_device *core_vdev)
{}

static long vfio_fsl_mc_ioctl(struct vfio_device *core_vdev,
			      unsigned int cmd, unsigned long arg)
{}

static ssize_t vfio_fsl_mc_read(struct vfio_device *core_vdev, char __user *buf,
				size_t count, loff_t *ppos)
{}

#define MC_CMD_COMPLETION_TIMEOUT_MS
#define MC_CMD_COMPLETION_POLLING_MAX_SLEEP_USECS

static int vfio_fsl_mc_send_command(void __iomem *ioaddr, uint64_t *cmd_data)
{}

static ssize_t vfio_fsl_mc_write(struct vfio_device *core_vdev,
				 const char __user *buf, size_t count,
				 loff_t *ppos)
{}

static int vfio_fsl_mc_mmap_mmio(struct vfio_fsl_mc_region region,
				 struct vm_area_struct *vma)
{}

static int vfio_fsl_mc_mmap(struct vfio_device *core_vdev,
			    struct vm_area_struct *vma)
{}

static const struct vfio_device_ops vfio_fsl_mc_ops;
static int vfio_fsl_mc_bus_notifier(struct notifier_block *nb,
				    unsigned long action, void *data)
{}

static int vfio_fsl_mc_init_device(struct vfio_fsl_mc_device *vdev)
{}

static int vfio_fsl_mc_scan_container(struct fsl_mc_device *mc_dev)
{}

static void vfio_fsl_uninit_device(struct vfio_fsl_mc_device *vdev)
{}

static int vfio_fsl_mc_init_dev(struct vfio_device *core_vdev)
{}

static int vfio_fsl_mc_probe(struct fsl_mc_device *mc_dev)
{}

static void vfio_fsl_mc_release_dev(struct vfio_device *core_vdev)
{}

static void vfio_fsl_mc_remove(struct fsl_mc_device *mc_dev)
{}

static const struct vfio_device_ops vfio_fsl_mc_ops =;

static struct fsl_mc_driver vfio_fsl_mc_driver =;

module_fsl_mc_driver();

MODULE_LICENSE();
MODULE_DESCRIPTION();