FPGA Bridge¶
API to implement a new FPGA bridge¶
- struct
fpga_bridge
— The FPGA Bridge structure - struct
fpga_bridge_ops
— Low level Bridge driver ops __fpga_bridge_register()
- Create and register a bridgefpga_bridge_unregister()
— Unregister a bridge
The helper macro fpga_bridge_register()
automatically sets
the module that registers the FPGA bridge as the owner.
-
struct
fpga_bridge
¶ FPGA bridge structure
Definition
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;
};
Members
name
- name of low level FPGA bridge
dev
- FPGA bridge device
mutex
- enforces exclusive reference to bridge
br_ops
- pointer to struct of FPGA bridge ops
br_ops_owner
- module containing the br_ops
info
- fpga image specific information
node
- FPGA bridge list node
priv
- low level driver private date
-
struct
fpga_bridge_ops
¶ ops for low level FPGA bridge drivers
Definition
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;
};
Members
enable_show
- returns the FPGA bridge’s status
enable_set
- set an FPGA bridge as enabled or disabled
fpga_bridge_remove
- set FPGA into a specific state during driver remove
groups
- optional attribute 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)¶ create and register an FPGA Bridge device
Parameters
struct device * parent
- FPGA bridge device from pdev
const char * name
- FPGA bridge name
const struct fpga_bridge_ops * br_ops
- pointer to structure of fpga bridge ops
void * priv
- FPGA bridge private data
struct module * owner
- owner module containing the br_ops
Return
struct fpga_bridge pointer or ERR_PTR()
-
void
fpga_bridge_unregister
(struct fpga_bridge * bridge)¶ unregister an FPGA bridge
Parameters
struct fpga_bridge * bridge
- FPGA bridge struct
Description
This function is intended for use in an FPGA bridge driver’s remove function.