diff options
author | Wu Hao <hao.wu@intel.com> | 2018-06-29 20:53:11 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-07-15 07:55:44 -0400 |
commit | 99a560bde313892f87ca81db568a829d3d205882 (patch) | |
tree | 3079d0343af5c0113b6924ec87b81206f64aa11b /include/linux/fpga/fpga-mgr.h | |
parent | ecb5fbe299dfaad778033259f35bc696fa1fb743 (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.h | 13 |
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 | */ | ||
144 | struct 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 | }; |