FPGA 桥接

用于实现新的 FPGA 桥接的 API

辅助宏 fpga_bridge_register() 会自动将注册 FPGA 桥接的模块设置为所有者。

struct fpga_bridge

FPGA 桥接结构

定义:

struct fpga_bridge {
    const char *name;
    struct device dev;
    struct mutex mutex;
    const struct fpga_bridge_ops *br_ops;
    struct module *br_ops_owner;
    struct fpga_image_info *info;
    struct list_head node;
    void *priv;
};

成员

name

底层 FPGA 桥接的名称

dev

FPGA 桥接设备

mutex

强制独占引用桥接

br_ops

指向 FPGA 桥接操作结构的指针

br_ops_owner

包含 br_ops 的模块

info

FPGA 映像特定信息

node

FPGA 桥接列表节点

priv

底层驱动程序私有数据

struct fpga_bridge_ops

底层 FPGA 桥接驱动程序的操作

定义:

struct fpga_bridge_ops {
    int (*enable_show)(struct fpga_bridge *bridge);
    int (*enable_set)(struct fpga_bridge *bridge, bool enable);
    void (*fpga_bridge_remove)(struct fpga_bridge *bridge);
    const struct attribute_group **groups;
};

成员

enable_show

返回 FPGA 桥接的状态

enable_set

将 FPGA 桥接设置为启用或禁用

fpga_bridge_remove

在驱动程序删除期间将 FPGA 设置为特定状态

groups

可选属性组。

struct fpga_bridge *__fpga_bridge_register(struct device *parent, const char *name, const struct fpga_bridge_ops *br_ops, void *priv, struct module *owner)

创建并注册一个 FPGA 桥接设备

参数

struct device *parent

来自 pdev 的 FPGA 桥接设备

const char *name

FPGA 桥接名称

const struct fpga_bridge_ops *br_ops

指向 fpga 桥接操作结构的指针

void *priv

FPGA 桥接私有数据

struct module *owner

包含 br_ops 的所有者模块

返回

struct fpga_bridge 指针或 ERR_PTR()

void fpga_bridge_unregister(struct fpga_bridge *bridge)

注销一个 FPGA 桥接

参数

struct fpga_bridge *bridge

FPGA 桥接结构

描述

此函数旨在用于 FPGA 桥接驱动程序的删除函数中。