12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21 /*
22 * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms.
24 */
25
26 /*
27 * Copyright (c) * Copyright (c) 2001 Tadpole Technology plc
28 * All rights reserved.
29 * From "@(#)pcicfg.c 1.31 99/06/18 SMI"
30 */
31
32 #pragma ident "%Z%%M% %I% %E% SMI"
33
34 /*
35 * Cardbus module
36 */
37
38 #include <sys/conf.h>
39 #include <sys/modctl.h>
40
41 #include <sys/pci.h>
42
43 #include <sys/ddi.h>
44 #include <sys/sunndi.h>
45 #include <sys/ddi_impldefs.h>
46
47 #include <sys/hotplug/hpcsvc.h>
48
49 #include <sys/pctypes.h>
50 #include <sys/pcmcia.h>
51 #include <sys/sservice.h>
52 #include <sys/note.h>
53
150
151 /*
152 * driver global data
153 */
154 kmutex_t cardbus_list_mutex; /* Protects the probe handle list */
155 void *cardbus_state;
156 int cardbus_latency_timer = 0x40;
157 int cardbus_debug = 0;
158
159 /*
160 * Module linkage information for the kernel.
161 */
162 extern struct mod_ops mod_miscops;
163 static struct modlmisc modlmisc = {
164 &mod_miscops,
165 "Cardbus Configurator support",
166 };
167
168 static struct modlinkage modlinkage = {
169 MODREV_1,
170 &modlmisc,
171 NULL
172 };
173
174 int
175 _init(void)
176 {
177 int error;
178
179 error = ddi_soft_state_init(&cardbus_state, sizeof (cbus_t), 0);
180 if (error != 0)
181 return (error);
182
183 mutex_init(&cardbus_list_mutex, NULL, MUTEX_DRIVER, NULL);
184 if ((error = mod_install(&modlinkage)) != 0) {
185 mutex_destroy(&cardbus_list_mutex);
186 }
187
188 return (error);
189 }
190
191 int
|
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21 /*
22 * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms.
24 */
25
26 /*
27 * Copyright (c) * Copyright (c) 2001 Tadpole Technology plc
28 * All rights reserved.
29 * From "@(#)pcicfg.c 1.31 99/06/18 SMI"
30 */
31
32 /*
33 * Cardbus module
34 */
35
36 #include <sys/conf.h>
37 #include <sys/modctl.h>
38
39 #include <sys/pci.h>
40
41 #include <sys/ddi.h>
42 #include <sys/sunndi.h>
43 #include <sys/ddi_impldefs.h>
44
45 #include <sys/hotplug/hpcsvc.h>
46
47 #include <sys/pctypes.h>
48 #include <sys/pcmcia.h>
49 #include <sys/sservice.h>
50 #include <sys/note.h>
51
148
149 /*
150 * driver global data
151 */
152 kmutex_t cardbus_list_mutex; /* Protects the probe handle list */
153 void *cardbus_state;
154 int cardbus_latency_timer = 0x40;
155 int cardbus_debug = 0;
156
157 /*
158 * Module linkage information for the kernel.
159 */
160 extern struct mod_ops mod_miscops;
161 static struct modlmisc modlmisc = {
162 &mod_miscops,
163 "Cardbus Configurator support",
164 };
165
166 static struct modlinkage modlinkage = {
167 MODREV_1,
168 { &modlmisc, NULL }
169 };
170
171 int
172 _init(void)
173 {
174 int error;
175
176 error = ddi_soft_state_init(&cardbus_state, sizeof (cbus_t), 0);
177 if (error != 0)
178 return (error);
179
180 mutex_init(&cardbus_list_mutex, NULL, MUTEX_DRIVER, NULL);
181 if ((error = mod_install(&modlinkage)) != 0) {
182 mutex_destroy(&cardbus_list_mutex);
183 }
184
185 return (error);
186 }
187
188 int
|