125 0, /* refcnt */
126 srn_getinfo, /* info */
127 nulldev, /* identify */
128 nulldev, /* probe */
129 srn_attach, /* attach */
130 srn_detach, /* detach */
131 nodev, /* reset */
132 &srn_cb_ops, /* driver operations */
133 NULL, /* bus operations */
134 NULL, /* power */
135 ddi_quiesce_not_needed, /* quiesce */
136 };
137
138 static struct modldrv modldrv = {
139 &mod_driverops,
140 "srn driver",
141 &srn_ops
142 };
143
144 static struct modlinkage modlinkage = {
145 MODREV_1, &modldrv, 0
146 };
147
148 /* Local functions */
149
150 int
151 _init(void)
152 {
153 return (mod_install(&modlinkage));
154 }
155
156 int
157 _fini(void)
158 {
159 return (mod_remove(&modlinkage));
160 }
161
162 int
163 _info(struct modinfo *modinfop)
164 {
165 return (mod_info(&modlinkage, modinfop));
|
125 0, /* refcnt */
126 srn_getinfo, /* info */
127 nulldev, /* identify */
128 nulldev, /* probe */
129 srn_attach, /* attach */
130 srn_detach, /* detach */
131 nodev, /* reset */
132 &srn_cb_ops, /* driver operations */
133 NULL, /* bus operations */
134 NULL, /* power */
135 ddi_quiesce_not_needed, /* quiesce */
136 };
137
138 static struct modldrv modldrv = {
139 &mod_driverops,
140 "srn driver",
141 &srn_ops
142 };
143
144 static struct modlinkage modlinkage = {
145 MODREV_1, { &modldrv, NULL }
146 };
147
148 /* Local functions */
149
150 int
151 _init(void)
152 {
153 return (mod_install(&modlinkage));
154 }
155
156 int
157 _fini(void)
158 {
159 return (mod_remove(&modlinkage));
160 }
161
162 int
163 _info(struct modinfo *modinfop)
164 {
165 return (mod_info(&modlinkage, modinfop));
|