#include <linux/bitfield.h>
#include <linux/module.h>
#include <linux/iopoll.h>
#include <linux/io-64-nonatomic-lo-hi.h>
#include <linux/fpga/fpga-mgr.h>
#include "dfl-fme-pr.h"
#define FME_PR_DFH …
#define FME_PR_CTRL …
#define FME_PR_STS …
#define FME_PR_DATA …
#define FME_PR_ERR …
#define FME_PR_INTFC_ID_L …
#define FME_PR_INTFC_ID_H …
#define FME_PR_CTRL_PR_RST …
#define FME_PR_CTRL_PR_RSTACK …
#define FME_PR_CTRL_PR_RGN_ID …
#define FME_PR_CTRL_PR_START …
#define FME_PR_CTRL_PR_COMPLETE …
#define FME_PR_STS_PR_CREDIT …
#define FME_PR_STS_PR_STS …
#define FME_PR_STS_PR_STS_IDLE …
#define FME_PR_STS_PR_CTRLR_STS …
#define FME_PR_STS_PR_HOST_STS …
#define FME_PR_DATA_PR_DATA_RAW …
#define FME_PR_ERR_OPERATION_ERR …
#define FME_PR_ERR_CRC_ERR …
#define FME_PR_ERR_INCOMPATIBLE_BS …
#define FME_PR_ERR_PROTOCOL_ERR …
#define FME_PR_ERR_FIFO_OVERFLOW …
#define PR_WAIT_TIMEOUT …
#define PR_HOST_STATUS_IDLE …
struct fme_mgr_priv { … };
static u64 pr_error_to_mgr_status(u64 err)
{ … }
static u64 fme_mgr_pr_error_handle(void __iomem *fme_pr)
{ … }
static int fme_mgr_write_init(struct fpga_manager *mgr,
struct fpga_image_info *info,
const char *buf, size_t count)
{ … }
static int fme_mgr_write(struct fpga_manager *mgr,
const char *buf, size_t count)
{ … }
static int fme_mgr_write_complete(struct fpga_manager *mgr,
struct fpga_image_info *info)
{ … }
static u64 fme_mgr_status(struct fpga_manager *mgr)
{ … }
static const struct fpga_manager_ops fme_mgr_ops = …;
static void fme_mgr_get_compat_id(void __iomem *fme_pr,
struct fpga_compat_id *id)
{ … }
static int fme_mgr_probe(struct platform_device *pdev)
{ … }
static struct platform_driver fme_mgr_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…) …;