summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorStefan Raspl <raspl@linux.ibm.com>2023-01-23 21:17:51 +0300
committerDavid S. Miller <davem@davemloft.net>2023-01-25 12:46:49 +0300
commit820f21009f1bc7a69e28752f6c6d9544401ca526 (patch)
tree0a2f4ca221a7b28d0cda8ce9b7d2766ab7f98fc8 /include
parent9de4df7b6be1cfca500f8ba21137d53eec45418a (diff)
downloadlinux-820f21009f1bc7a69e28752f6c6d9544401ca526.tar.xz
s390/ism: Consolidate SMC-D-related code
The ism module had SMC-D-specific code sprinkled across the entire module. We are now consolidating the SMC-D-specific parts into the latter parts of the module, so it becomes more clear what code is intended for use with ISM, and which parts are glue code for usage in the context of SMC-D. This is the fourth part of a bigger overhaul of the interfaces between SMC and ISM. Signed-off-by: Stefan Raspl <raspl@linux.ibm.com> Signed-off-by: Jan Karcher <jaka@linux.ibm.com> Signed-off-by: Wenjia Zhang <wenjia@linux.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/linux/ism.h2
-rw-r--r--include/net/smc.h5
2 files changed, 5 insertions, 2 deletions
diff --git a/include/linux/ism.h b/include/linux/ism.h
index bdd29e08d4fe..104ce2fd503a 100644
--- a/include/linux/ism.h
+++ b/include/linux/ism.h
@@ -94,4 +94,6 @@ int ism_move(struct ism_dev *dev, u64 dmb_tok, unsigned int idx, bool sf,
unsigned int offset, void *data, unsigned int size);
u8 *ism_get_seid(void);
+const struct smcd_ops *ism_get_smcd_ops(void);
+
#endif /* _ISM_H */
diff --git a/include/net/smc.h b/include/net/smc.h
index d5f8f18169d7..556b96c12279 100644
--- a/include/net/smc.h
+++ b/include/net/smc.h
@@ -50,11 +50,13 @@ struct smcd_dmb {
#define ISM_ERROR 0xFFFF
struct smcd_dev;
+struct ism_client;
struct smcd_ops {
int (*query_remote_gid)(struct smcd_dev *dev, u64 rgid, u32 vid_valid,
u32 vid);
- int (*register_dmb)(struct smcd_dev *dev, struct smcd_dmb *dmb);
+ int (*register_dmb)(struct smcd_dev *dev, struct smcd_dmb *dmb,
+ struct ism_client *client);
int (*unregister_dmb)(struct smcd_dev *dev, struct smcd_dmb *dmb);
int (*add_vlan_id)(struct smcd_dev *dev, u64 vlan_id);
int (*del_vlan_id)(struct smcd_dev *dev, u64 vlan_id);
@@ -73,7 +75,6 @@ struct smcd_ops {
struct smcd_dev {
const struct smcd_ops *ops;
struct device dev;
- struct ism_dev *ism;
void *priv;
struct list_head list;
spinlock_t lock;