1*3db86aabSstevel /*
2*3db86aabSstevel  * CDDL HEADER START
3*3db86aabSstevel  *
4*3db86aabSstevel  * The contents of this file are subject to the terms of the
5*3db86aabSstevel  * Common Development and Distribution License (the "License").
6*3db86aabSstevel  * You may not use this file except in compliance with the License.
7*3db86aabSstevel  *
8*3db86aabSstevel  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*3db86aabSstevel  * or http://www.opensolaris.org/os/licensing.
10*3db86aabSstevel  * See the License for the specific language governing permissions
11*3db86aabSstevel  * and limitations under the License.
12*3db86aabSstevel  *
13*3db86aabSstevel  * When distributing Covered Code, include this CDDL HEADER in each
14*3db86aabSstevel  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*3db86aabSstevel  * If applicable, add the following below this CDDL HEADER, with the
16*3db86aabSstevel  * fields enclosed by brackets "[]" replaced with your own identifying
17*3db86aabSstevel  * information: Portions Copyright [yyyy] [name of copyright owner]
18*3db86aabSstevel  *
19*3db86aabSstevel  * CDDL HEADER END
20*3db86aabSstevel  */
21*3db86aabSstevel /*
22*3db86aabSstevel  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
23*3db86aabSstevel  * Use is subject to license terms.
24*3db86aabSstevel  */
25*3db86aabSstevel /*
26*3db86aabSstevel  * Copyright (c)  * Copyright (c) 2001 Tadpole Technology plc
27*3db86aabSstevel  * All rights reserved.
28*3db86aabSstevel  */
29*3db86aabSstevel 
30*3db86aabSstevel #ifndef	_SYS_CARDBUS_CFG_H
31*3db86aabSstevel #define	_SYS_CARDBUS_CFG_H
32*3db86aabSstevel 
33*3db86aabSstevel #ifdef  __cplusplus
34*3db86aabSstevel extern "C" {
35*3db86aabSstevel #endif
36*3db86aabSstevel 
37*3db86aabSstevel /*
38*3db86aabSstevel  * Cardbus device identifiers
39*3db86aabSstevel  */
40*3db86aabSstevel #define	CBUS_ID(vend, dev)	((uint32_t)(((uint32_t)(vend) << 16) | (dev)))
41*3db86aabSstevel 
42*3db86aabSstevel #define	CB_PPD_CODE	0x2441
43*3db86aabSstevel 
44*3db86aabSstevel struct cardbus_parent_private_data {
45*3db86aabSstevel 	struct ddi_parent_private_data	ppd;	/* this format for prtconf */
46*3db86aabSstevel 	uint16_t	code;	/* == CB_PPD_CODE */
47*3db86aabSstevel 	/* pci_regspec_t *regs; */
48*3db86aabSstevel };
49*3db86aabSstevel 
50*3db86aabSstevel extern kmutex_t cardbus_list_mutex;
51*3db86aabSstevel extern int cardbus_latency_timer;
52*3db86aabSstevel 
53*3db86aabSstevel extern int cardbus_configure(cbus_t *cbp);
54*3db86aabSstevel extern int cardbus_unconfigure(cbus_t *cbp);
55*3db86aabSstevel extern int cardbus_teardown_device(dev_info_t *);
56*3db86aabSstevel extern int cardbus_primary_busno(dev_info_t *dip);
57*3db86aabSstevel 
58*3db86aabSstevel #ifdef DEBUG
59*3db86aabSstevel extern void cardbus_dump_children(dev_info_t *dip, int level);
60*3db86aabSstevel extern void cardbus_dump_family_tree(dev_info_t *dip);
61*3db86aabSstevel #endif
62*3db86aabSstevel 
63*3db86aabSstevel #ifdef  __cplusplus
64*3db86aabSstevel }
65*3db86aabSstevel #endif
66*3db86aabSstevel 
67*3db86aabSstevel #endif	/* _SYS_CARDBUS_CFG_H */
68