aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/intr_remapping.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/pci/intr_remapping.c')
0 files changed, 0 insertions, 0 deletions
p;id=1da177e4c3f41524e886b7f1b8a0c1fc7321cac2'>1da177e4c3f4
360b65b95bae
1da177e4c3f4
1da177e4c3f4
e2d4096365e0
1da177e4c3f4
a3d0d4d8dd45


1da177e4c3f4

360b65b95bae
dc953e550bf1
2ce4905e4da9

0ca724d37af3
1da177e4c3f4

dc953e550bf1
1da177e4c3f4







c23889ca5afc

b19a7275dec4



ad0c7be28bc7

c23889ca5afc


c23889ca5afc



1da177e4c3f4









1da177e4c3f4


dc953e550bf1

49b1153adfe1


a6c6193a3662


49b1153adfe1

dc953e550bf1


dc953e550bf1






dc953e550bf1








7b24e7988263

af461fc1875b
6e7b51a733fd
dc953e550bf1
7b24e7988263
dc953e550bf1





c23889ca5afc

dc953e550bf1
c23889ca5afc
dc953e550bf1
f971dbd5da4e




af461fc1875b
994917f8b718



6e7b51a733fd





5716d415f8c5

6e7b51a733fd

a3ac9af56c14






6f0f38c45a8f

6e7b51a733fd
dc953e550bf1
6e7b51a733fd

dc953e550bf1

1d5cc192d431

dc953e550bf1



994917f8b718

84897fc0524d
6e7b51a733fd
dc953e550bf1
91284224da5b





18a7a19b3783







1da177e4c3f4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
  
                                                                   









                                                                       
                                         




                                                                           




                            
                       
 
                           
                                          
 


                                  

                                               
                            
                              

                                                      
                                                       

           
 







                                         

                                                                  



                                                                 

                                                                   


                                                                               



                                                                  









                                             


                                       

  


                                                


                                                                               

  


                                          






                                                           








                                                            

                                                            
                                                             
                                                                               
                                                             
                                                                  





                                                            

                                        
                                                                               
                                                               
 




                                                                             
                                      



                                                                   





                                       

                     

                                                                     






                                                                        

                                                  
 
              

                                            

                                                          

                                                           



                                                                     

                                                         
                                                                      
                                              
 





                                                                         







                                                                          
                                 
/*
 * cs_internal.h -- definitions internal to the PCMCIA core modules
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 * The initial developer of the original code is David A. Hinds
 * <dahinds@users.sourceforge.net>.  Portions created by David A. Hinds
 * are Copyright (C) 1999 David A. Hinds.  All Rights Reserved.
 *
 * (C) 1999		David A. Hinds
 * (C) 2003 - 2010	Dominik Brodowski
 *
 *
 * This file contains definitions _only_ needed by the PCMCIA core modules.
 * It must not be included by PCMCIA socket drivers or by PCMCIA device
 * drivers.
 */

#ifndef _LINUX_CS_INTERNAL_H
#define _LINUX_CS_INTERNAL_H

#include <linux/kref.h>

/* Flags in client state */
#define CLIENT_WIN_REQ(i)	(0x1<<(i))

/* Flag to access all functions */
#define BIND_FN_ALL	0xff

/* Each card function gets one of these guys */
typedef struct config_t {
	struct kref	ref;
	unsigned int	state;

	struct resource io[MAX_IO_WIN]; /* io ports */
	struct resource mem[MAX_WIN];   /* mem areas */
} config_t;


struct cis_cache_entry {
	struct list_head	node;
	unsigned int		addr;
	unsigned int		len;
	unsigned int		attr;
	unsigned char		cache[0];
};

struct pccard_resource_ops {
	int	(*validate_mem)		(struct pcmcia_socket *s);
	int	(*find_io)		(struct pcmcia_socket *s,
					 unsigned int attr,
					 unsigned int *base,
					 unsigned int num,
					 unsigned int align,
					 struct resource **parent);
	struct resource* (*find_mem)	(unsigned long base, unsigned long num,
					 unsigned long align, int low,
					 struct pcmcia_socket *s);
	int	(*init)			(struct pcmcia_socket *s);
	void	(*exit)			(struct pcmcia_socket *s);
};

/* Flags in config state */
#define CONFIG_LOCKED		0x01
#define CONFIG_IRQ_REQ		0x02
#define CONFIG_IO_REQ		0x04

/* Flags in socket state */
#define SOCKET_PRESENT		0x0008
#define SOCKET_INUSE		0x0010
#define SOCKET_SUSPEND		0x0080
#define SOCKET_WIN_REQ(i)	(0x0100<<(i))
#define SOCKET_CARDBUS		0x8000
#define SOCKET_CARDBUS_CONFIG	0x10000


/*
 * Stuff internal to module "pcmcia_rsrc":
 */
extern int static_init(struct pcmcia_socket *s);
extern struct resource *pcmcia_make_resource(resource_size_t start,
					resource_size_t end,
					unsigned long flags, const char *name);

/*
 * Stuff internal to module "pcmcia_core":
 */

/* socket_sysfs.c */
extern int pccard_sysfs_add_socket(struct device *dev);
extern void pccard_sysfs_remove_socket(struct device *dev);

/* cardbus.c */
int cb_alloc(struct pcmcia_socket *s);
void cb_free(struct pcmcia_socket *s);



/*
 * Stuff exported by module "pcmcia_core" to module "pcmcia"
 */

struct pcmcia_callback{
	struct module	*owner;
	int		(*add) (struct pcmcia_socket *s);
	int		(*remove) (struct pcmcia_socket *s);
	void		(*requery) (struct pcmcia_socket *s);
	int		(*validate) (struct pcmcia_socket *s, unsigned int *i);
	int		(*suspend) (struct pcmcia_socket *s);
	int		(*early_resume) (struct pcmcia_socket *s);
	int		(*resume) (struct pcmcia_socket *s);
};

/* cs.c */
extern struct rw_semaphore pcmcia_socket_list_rwsem;
extern struct list_head pcmcia_socket_list;
extern struct class pcmcia_socket_class;