|
@@ -135,12 +135,24 @@ struct fpga_manager_ops {
|
|
|
#define FPGA_MGR_STATUS_IP_PROTOCOL_ERR BIT(3)
|
|
|
#define FPGA_MGR_STATUS_FIFO_OVERFLOW_ERR BIT(4)
|
|
|
|
|
|
+/**
|
|
|
+ * struct fpga_compat_id - id for compatibility check
|
|
|
+ *
|
|
|
+ * @id_h: high 64bit of the compat_id
|
|
|
+ * @id_l: low 64bit of the compat_id
|
|
|
+ */
|
|
|
+struct fpga_compat_id {
|
|
|
+ u64 id_h;
|
|
|
+ u64 id_l;
|
|
|
+};
|
|
|
+
|
|
|
/**
|
|
|
* struct fpga_manager - fpga manager structure
|
|
|
* @name: name of low level fpga manager
|
|
|
* @dev: fpga manager device
|
|
|
* @ref_mutex: only allows one reference to fpga manager
|
|
|
* @state: state of fpga manager
|
|
|
+ * @compat_id: FPGA manager id for compatibility check.
|
|
|
* @mops: pointer to struct of fpga manager ops
|
|
|
* @priv: low level driver private date
|
|
|
*/
|
|
@@ -149,6 +161,7 @@ struct fpga_manager {
|
|
|
struct device dev;
|
|
|
struct mutex ref_mutex;
|
|
|
enum fpga_mgr_states state;
|
|
|
+ struct fpga_compat_id *compat_id;
|
|
|
const struct fpga_manager_ops *mops;
|
|
|
void *priv;
|
|
|
};
|