Commit 4c2cb422 authored by Mark Bloch's avatar Mark Bloch Committed by Doug Ledford

IB/MAD: Integrate ib_mad module into ib_core module

Consolidate ib_mad into ib_core, this commit eliminates
ib_mad.ko and makes it part of ib_core.ko
Signed-off-by: default avatarMark Bloch <markb@mellanox.com>
Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
parent e3f20f02
infiniband-$(CONFIG_INFINIBAND_ADDR_TRANS) := rdma_cm.o infiniband-$(CONFIG_INFINIBAND_ADDR_TRANS) := rdma_cm.o
user_access-$(CONFIG_INFINIBAND_ADDR_TRANS) := rdma_ucm.o user_access-$(CONFIG_INFINIBAND_ADDR_TRANS) := rdma_ucm.o
obj-$(CONFIG_INFINIBAND) += ib_core.o ib_mad.o ib_sa.o \ obj-$(CONFIG_INFINIBAND) += ib_core.o ib_sa.o \
ib_cm.o iw_cm.o \ ib_cm.o iw_cm.o \
$(infiniband-y) $(infiniband-y)
obj-$(CONFIG_INFINIBAND_USER_MAD) += ib_umad.o obj-$(CONFIG_INFINIBAND_USER_MAD) += ib_umad.o
...@@ -10,12 +10,11 @@ obj-$(CONFIG_INFINIBAND_USER_ACCESS) += ib_uverbs.o ib_ucm.o \ ...@@ -10,12 +10,11 @@ obj-$(CONFIG_INFINIBAND_USER_ACCESS) += ib_uverbs.o ib_ucm.o \
ib_core-y := packer.o ud_header.o verbs.o cq.o rw.o sysfs.o \ ib_core-y := packer.o ud_header.o verbs.o cq.o rw.o sysfs.o \
device.o fmr_pool.o cache.o netlink.o \ device.o fmr_pool.o cache.o netlink.o \
roce_gid_mgmt.o mr_pool.o addr.o roce_gid_mgmt.o mr_pool.o addr.o \
mad.o smi.o agent.o mad_rmpp.o
ib_core-$(CONFIG_INFINIBAND_USER_MEM) += umem.o ib_core-$(CONFIG_INFINIBAND_USER_MEM) += umem.o
ib_core-$(CONFIG_INFINIBAND_ON_DEMAND_PAGING) += umem_odp.o umem_rbtree.o ib_core-$(CONFIG_INFINIBAND_ON_DEMAND_PAGING) += umem_odp.o umem_rbtree.o
ib_mad-y := mad.o smi.o agent.o mad_rmpp.o
ib_sa-y := sa_query.o multicast.o ib_sa-y := sa_query.o multicast.o
ib_cm-y := cm.o ib_cm-y := cm.o
......
...@@ -140,4 +140,7 @@ static inline bool rdma_is_upper_dev_rcu(struct net_device *dev, ...@@ -140,4 +140,7 @@ static inline bool rdma_is_upper_dev_rcu(struct net_device *dev,
int addr_init(void); int addr_init(void);
void addr_cleanup(void); void addr_cleanup(void);
int ib_mad_init(void);
void ib_mad_cleanup(void);
#endif /* _CORE_PRIV_H */ #endif /* _CORE_PRIV_H */
...@@ -989,10 +989,18 @@ static int __init ib_core_init(void) ...@@ -989,10 +989,18 @@ static int __init ib_core_init(void)
goto err_ibnl; goto err_ibnl;
} }
ret = ib_mad_init();
if (ret) {
pr_warn("Couldn't init IB MAD\n");
goto err_addr;
}
ib_cache_setup(); ib_cache_setup();
return 0; return 0;
err_addr:
addr_cleanup();
err_ibnl: err_ibnl:
ibnl_cleanup(); ibnl_cleanup();
err_sysfs: err_sysfs:
...@@ -1007,6 +1015,7 @@ static int __init ib_core_init(void) ...@@ -1007,6 +1015,7 @@ static int __init ib_core_init(void)
static void __exit ib_core_cleanup(void) static void __exit ib_core_cleanup(void)
{ {
ib_cache_cleanup(); ib_cache_cleanup();
ib_mad_cleanup();
addr_cleanup(); addr_cleanup();
ibnl_cleanup(); ibnl_cleanup();
class_unregister(&ib_class); class_unregister(&ib_class);
......
...@@ -47,11 +47,7 @@ ...@@ -47,11 +47,7 @@
#include "smi.h" #include "smi.h"
#include "opa_smi.h" #include "opa_smi.h"
#include "agent.h" #include "agent.h"
#include "core_priv.h"
MODULE_LICENSE("Dual BSD/GPL");
MODULE_DESCRIPTION("kernel IB MAD API");
MODULE_AUTHOR("Hal Rosenstock");
MODULE_AUTHOR("Sean Hefty");
static int mad_sendq_size = IB_MAD_QP_SEND_SIZE; static int mad_sendq_size = IB_MAD_QP_SEND_SIZE;
static int mad_recvq_size = IB_MAD_QP_RECV_SIZE; static int mad_recvq_size = IB_MAD_QP_RECV_SIZE;
...@@ -3316,7 +3312,7 @@ static struct ib_client mad_client = { ...@@ -3316,7 +3312,7 @@ static struct ib_client mad_client = {
.remove = ib_mad_remove_device .remove = ib_mad_remove_device
}; };
static int __init ib_mad_init_module(void) int ib_mad_init(void)
{ {
mad_recvq_size = min(mad_recvq_size, IB_MAD_QP_MAX_SIZE); mad_recvq_size = min(mad_recvq_size, IB_MAD_QP_MAX_SIZE);
mad_recvq_size = max(mad_recvq_size, IB_MAD_QP_MIN_SIZE); mad_recvq_size = max(mad_recvq_size, IB_MAD_QP_MIN_SIZE);
...@@ -3334,10 +3330,7 @@ static int __init ib_mad_init_module(void) ...@@ -3334,10 +3330,7 @@ static int __init ib_mad_init_module(void)
return 0; return 0;
} }
static void __exit ib_mad_cleanup_module(void) void ib_mad_cleanup(void)
{ {
ib_unregister_client(&mad_client); ib_unregister_client(&mad_client);
} }
module_init(ib_mad_init_module);
module_exit(ib_mad_cleanup_module);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment