51 #define IBDMA_NAME_VERSION "IB Device Management Agent"
52
53 extern struct mod_ops mod_miscops;
54
55 static void ibdma_ibt_async_handler(void *clnt, ibt_hca_hdl_t hdl,
56 ibt_async_code_t code, ibt_async_event_t *event);
57
58 static void ibdma_mad_recv_cb(ibmf_handle_t ibmf_hdl,
59 ibmf_msg_t *msgp, void *args);
60 static void ibdma_create_resp_mad(ibmf_msg_t *msgp);
61
62 /*
63 * Misc. kernel module for now.
64 */
65 static struct modlmisc modlmisc = {
66 &mod_miscops,
67 IBDMA_NAME_VERSION
68 };
69
70 static struct modlinkage modlinkage = {
71 MODREV_1, (void *)&modlmisc, NULL
72 };
73
74 static ibt_clnt_modinfo_t ibdma_ibt_modinfo = {
75 IBTI_V_CURR,
76 IBT_DM_AGENT,
77 ibdma_ibt_async_handler,
78 NULL,
79 "ibdma"
80 };
81
82 /*
83 * Module global state allocated at init().
84 */
85 static ibdma_mod_state_t *ibdma = NULL;
86
87 /*
88 * Init/Fini handlers and IBTL HCA management prototypes.
89 */
90 static int ibdma_init();
91 static int ibdma_fini();
|
51 #define IBDMA_NAME_VERSION "IB Device Management Agent"
52
53 extern struct mod_ops mod_miscops;
54
55 static void ibdma_ibt_async_handler(void *clnt, ibt_hca_hdl_t hdl,
56 ibt_async_code_t code, ibt_async_event_t *event);
57
58 static void ibdma_mad_recv_cb(ibmf_handle_t ibmf_hdl,
59 ibmf_msg_t *msgp, void *args);
60 static void ibdma_create_resp_mad(ibmf_msg_t *msgp);
61
62 /*
63 * Misc. kernel module for now.
64 */
65 static struct modlmisc modlmisc = {
66 &mod_miscops,
67 IBDMA_NAME_VERSION
68 };
69
70 static struct modlinkage modlinkage = {
71 MODREV_1, { (void *)&modlmisc, NULL }
72 };
73
74 static ibt_clnt_modinfo_t ibdma_ibt_modinfo = {
75 IBTI_V_CURR,
76 IBT_DM_AGENT,
77 ibdma_ibt_async_handler,
78 NULL,
79 "ibdma"
80 };
81
82 /*
83 * Module global state allocated at init().
84 */
85 static ibdma_mod_state_t *ibdma = NULL;
86
87 /*
88 * Init/Fini handlers and IBTL HCA management prototypes.
89 */
90 static int ibdma_init();
91 static int ibdma_fini();
|