aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/fpga/fpga-mgr.h
diff options
context:
space:
mode:
authorWu Hao <hao.wu@intel.com>2018-06-29 20:53:11 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-07-15 07:55:44 -0400
commit99a560bde313892f87ca81db568a829d3d205882 (patch)
tree3079d0343af5c0113b6924ec87b81206f64aa11b /include/linux/fpga/fpga-mgr.h
parentecb5fbe299dfaad778033259f35bc696fa1fb743 (diff)
fpga: mgr: add compat_id support
This patch introduces compat_id support to fpga manager, it adds a fpga_compat_id pointer to fpga manager data structure to allow fpga manager drivers to save the compatibility id. This compat_id could be used for compatibility checking before doing partial reconfiguration to associated fpga regions. Signed-off-by: Wu Hao <hao.wu@intel.com> Acked-by: Alan Tull <atull@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/fpga/fpga-mgr.h')
-rw-r--r--include/linux/fpga/fpga-mgr.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/fpga/fpga-mgr.h b/include/linux/fpga/fpga-mgr.h
index e249b7250345..8942e61f0028 100644
--- a/include/linux/fpga/fpga-mgr.h
+++ b/include/linux/fpga/fpga-mgr.h
@@ -136,11 +136,23 @@ struct fpga_manager_ops {
136#define FPGA_MGR_STATUS_FIFO_OVERFLOW_ERR BIT(4) 136#define FPGA_MGR_STATUS_FIFO_OVERFLOW_ERR BIT(4)
137 137
138/** 138/**
139 * struct fpga_compat_id - id for compatibility check
140 *
141 * @id_h: high 64bit of the compat_id
142 * @id_l: low 64bit of the compat_id
143 */
144struct fpga_compat_id {
145 u64 id_h;
146 u64 id_l;
147};
148
149/**
139 * struct fpga_manager - fpga manager structure 150 * struct fpga_manager - fpga manager structure
140 * @name: name of low level fpga manager 151 * @name: name of low level fpga manager
141 * @dev: fpga manager device 152 * @dev: fpga manager device
142 * @ref_mutex: only allows one reference to fpga manager 153 * @ref_mutex: only allows one reference to fpga manager
143 * @state: state of fpga manager 154 * @state: state of fpga manager
155 * @compat_id: FPGA manager id for compatibility check.
144 * @mops: pointer to struct of fpga manager ops 156 * @mops: pointer to struct of fpga manager ops
145 * @priv: low level driver private date 157 * @priv: low level driver private date
146 */ 158 */
@@ -149,6 +161,7 @@ struct fpga_manager {
149 struct device dev; 161 struct device dev;
150 struct mutex ref_mutex; 162 struct mutex ref_mutex;
151 enum fpga_mgr_states state; 163 enum fpga_mgr_states state;
164 struct fpga_compat_id *compat_id;
152 const struct fpga_manager_ops *mops; 165 const struct fpga_manager_ops *mops;
153 void *priv; 166 void *priv;
154}; 167};