#include <linux/types.h>
#include <linux/device.h>
#include <linux/vmalloc.h>
#include <linux/uaccess.h>
#include <linux/fpga/fpga-mgr.h>
#include <linux/fpga/fpga-bridge.h>
#include <linux/fpga/fpga-region.h>
#include <linux/fpga-dfl.h>
#include "dfl.h"
#include "dfl-fme.h"
#include "dfl-fme-pr.h"
static struct dfl_fme_region *
dfl_fme_region_find_by_port_id(struct dfl_fme *fme, int port_id)
{ … }
static int dfl_fme_region_match(struct device *dev, const void *data)
{ … }
static struct fpga_region *dfl_fme_region_find(struct dfl_fme *fme, int port_id)
{ … }
static int fme_pr(struct platform_device *pdev, unsigned long arg)
{ … }
static struct platform_device *
dfl_fme_create_mgr(struct dfl_feature_platform_data *pdata,
struct dfl_feature *feature)
{ … }
static void dfl_fme_destroy_mgr(struct dfl_feature_platform_data *pdata)
{ … }
static struct dfl_fme_bridge *
dfl_fme_create_bridge(struct dfl_feature_platform_data *pdata, int port_id)
{ … }
static void dfl_fme_destroy_bridge(struct dfl_fme_bridge *fme_br)
{ … }
static void dfl_fme_destroy_bridges(struct dfl_feature_platform_data *pdata)
{ … }
static struct dfl_fme_region *
dfl_fme_create_region(struct dfl_feature_platform_data *pdata,
struct platform_device *mgr,
struct platform_device *br, int port_id)
{ … }
static void dfl_fme_destroy_region(struct dfl_fme_region *fme_region)
{ … }
static void dfl_fme_destroy_regions(struct dfl_feature_platform_data *pdata)
{ … }
static int pr_mgmt_init(struct platform_device *pdev,
struct dfl_feature *feature)
{ … }
static void pr_mgmt_uinit(struct platform_device *pdev,
struct dfl_feature *feature)
{ … }
static long fme_pr_ioctl(struct platform_device *pdev,
struct dfl_feature *feature,
unsigned int cmd, unsigned long arg)
{ … }
const struct dfl_feature_id fme_pr_mgmt_id_table[] = …;
const struct dfl_feature_ops fme_pr_mgmt_ops = …;