24 */
25
26 #include <sys/types.h>
27 #include <sys/modctl.h>
28 #include <sys/stat.h>
29 #include <sys/proc.h>
30 #include <sys/ddi.h>
31 #include <sys/sunddi.h>
32 #include <sys/kmem.h>
33 #include <sys/file.h>
34 #include <sys/rsm/rsm_common.h>
35 #include <sys/rsm/rsmpi.h>
36 #include <sys/rsm/rsmpi_driver.h>
37
38 /* lint -w2 */
39 static struct modlmisc modlmisc = {
40 &mod_miscops, "RSMOPS module",
41 };
42
43 static struct modlinkage modlinkage = {
44 MODREV_1, (void *)&modlmisc, NULL
45 };
46
47 static kmutex_t rsmops_lock;
48
49 static rsmops_drv_t *rsmops_drv_head = NULL;
50
51 static int rsmops_threads_started = 0;
52
53 int
54 _init(void)
55 {
56 int err;
57
58 mutex_init(&rsmops_lock, NULL, MUTEX_DEFAULT, NULL);
59
60 if ((err = mod_install(&modlinkage)) != 0)
61 mutex_destroy(&rsmops_lock);
62
63 return (err);
64 }
|
24 */
25
26 #include <sys/types.h>
27 #include <sys/modctl.h>
28 #include <sys/stat.h>
29 #include <sys/proc.h>
30 #include <sys/ddi.h>
31 #include <sys/sunddi.h>
32 #include <sys/kmem.h>
33 #include <sys/file.h>
34 #include <sys/rsm/rsm_common.h>
35 #include <sys/rsm/rsmpi.h>
36 #include <sys/rsm/rsmpi_driver.h>
37
38 /* lint -w2 */
39 static struct modlmisc modlmisc = {
40 &mod_miscops, "RSMOPS module",
41 };
42
43 static struct modlinkage modlinkage = {
44 MODREV_1, { (void *)&modlmisc, NULL }
45 };
46
47 static kmutex_t rsmops_lock;
48
49 static rsmops_drv_t *rsmops_drv_head = NULL;
50
51 static int rsmops_threads_started = 0;
52
53 int
54 _init(void)
55 {
56 int err;
57
58 mutex_init(&rsmops_lock, NULL, MUTEX_DEFAULT, NULL);
59
60 if ((err = mod_install(&modlinkage)) != 0)
61 mutex_destroy(&rsmops_lock);
62
63 return (err);
64 }
|