Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 /*
  2  * Copyright (2003-2004)        Dominik Brodowski <linux@brodo.de>
  3  *                              David Woodhouse
  4  *
  5  * License: GPL v2
  6  */
  7 
  8 #define PCMCIA_DEVICE_MANF_CARD(manf, card) { \
  9         .match_flags = PCMCIA_DEV_ID_MATCH_MANF_ID| \
 10                         PCMCIA_DEV_ID_MATCH_CARD_ID, \
 11         .manf_id = (manf), \
 12         .card_id = (card), }
 13 
 14 #define PCMCIA_DEVICE_FUNC_ID(func) { \
 15         .match_flags = PCMCIA_DEV_ID_MATCH_FUNC_ID, \
 16         .func_id = (func), }
 17 
 18 #define PCMCIA_DEVICE_PROD_ID1(v1, vh1) { \
 19         .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1, \
 20         .prod_id = { (v1), NULL, NULL, NULL }, \
 21         .prod_id_hash = { (vh1), 0, 0, 0 }, }
 22 
 23 #define PCMCIA_DEVICE_PROD_ID2(v2, vh2) { \
 24         .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID2, \
 25         .prod_id = { NULL, (v2), NULL, NULL },  \
 26         .prod_id_hash = { 0, (vh2), 0, 0 }, }
 27 
 28 #define PCMCIA_DEVICE_PROD_ID12(v1, v2, vh1, vh2) { \
 29         .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1| \
 30                         PCMCIA_DEV_ID_MATCH_PROD_ID2, \
 31         .prod_id = { (v1), (v2), NULL, NULL }, \
 32         .prod_id_hash = { (vh1), (vh2), 0, 0 }, }
 33 
 34 #define PCMCIA_DEVICE_PROD_ID13(v1, v3, vh1, vh3) { \
 35         .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1| \
 36                         PCMCIA_DEV_ID_MATCH_PROD_ID3, \
 37         .prod_id = { (v1), NULL, (v3), NULL }, \
 38         .prod_id_hash = { (vh1), 0, (vh3), 0 }, }
 39 
 40 #define PCMCIA_DEVICE_PROD_ID14(v1, v4, vh1, vh4) { \
 41         .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1| \
 42                         PCMCIA_DEV_ID_MATCH_PROD_ID4, \
 43         .prod_id = { (v1), NULL, NULL, (v4) }, \
 44         .prod_id_hash = { (vh1), 0, 0, (vh4) }, }
 45 
 46 #define PCMCIA_DEVICE_PROD_ID123(v1, v2, v3, vh1, vh2, vh3) { \
 47         .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1| \
 48                         PCMCIA_DEV_ID_MATCH_PROD_ID2| \
 49                         PCMCIA_DEV_ID_MATCH_PROD_ID3, \
 50         .prod_id = { (v1), (v2), (v3), NULL },\
 51         .prod_id_hash = { (vh1), (vh2), (vh3), 0 }, }
 52 
 53 #define PCMCIA_DEVICE_PROD_ID124(v1, v2, v4, vh1, vh2, vh4) { \
 54         .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1| \
 55                         PCMCIA_DEV_ID_MATCH_PROD_ID2| \
 56                         PCMCIA_DEV_ID_MATCH_PROD_ID4, \
 57         .prod_id = { (v1), (v2), NULL, (v4) }, \
 58         .prod_id_hash = { (vh1), (vh2), 0, (vh4) }, }
 59 
 60 #define PCMCIA_DEVICE_PROD_ID134(v1, v3, v4, vh1, vh3, vh4) { \
 61         .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1| \
 62                         PCMCIA_DEV_ID_MATCH_PROD_ID3| \
 63                         PCMCIA_DEV_ID_MATCH_PROD_ID4, \
 64         .prod_id = { (v1), NULL, (v3), (v4) }, \
 65         .prod_id_hash = { (vh1), 0, (vh3), (vh4) }, }
 66 
 67 #define PCMCIA_DEVICE_PROD_ID1234(v1, v2, v3, v4, vh1, vh2, vh3, vh4) { \
 68         .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1| \
 69                         PCMCIA_DEV_ID_MATCH_PROD_ID2| \
 70                         PCMCIA_DEV_ID_MATCH_PROD_ID3| \
 71                         PCMCIA_DEV_ID_MATCH_PROD_ID4, \
 72         .prod_id = { (v1), (v2), (v3), (v4) }, \
 73         .prod_id_hash = { (vh1), (vh2), (vh3), (vh4) }, }
 74 
 75 #define PCMCIA_DEVICE_MANF_CARD_PROD_ID1(manf, card, v1, vh1) { \
 76         .match_flags = PCMCIA_DEV_ID_MATCH_MANF_ID| \
 77                         PCMCIA_DEV_ID_MATCH_CARD_ID| \
 78                         PCMCIA_DEV_ID_MATCH_PROD_ID1, \
 79         .manf_id = (manf), \
 80         .card_id = (card), \
 81         .prod_id = { (v1), NULL, NULL, NULL }, \
 82         .prod_id_hash = { (vh1), 0, 0, 0 }, }
 83 
 84 
 85 /* multi-function devices */
 86 
 87 #define PCMCIA_MFC_DEVICE_MANF_CARD(mfc, manf, card) { \
 88         .match_flags = PCMCIA_DEV_ID_MATCH_MANF_ID| \
 89                         PCMCIA_DEV_ID_MATCH_CARD_ID| \
 90                         PCMCIA_DEV_ID_MATCH_FUNCTION, \
 91         .manf_id = (manf), \
 92         .card_id = (card), \
 93         .function = (mfc), }
 94 
 95 #define PCMCIA_MFC_DEVICE_PROD_ID1(mfc, v1, vh1) { \
 96         .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1| \
 97                         PCMCIA_DEV_ID_MATCH_FUNCTION, \
 98         .prod_id = { (v1), NULL, NULL, NULL }, \
 99         .prod_id_hash = { (vh1), 0, 0, 0 }, \
100         .function = (mfc), }
101 
102 #define PCMCIA_MFC_DEVICE_PROD_ID2(mfc, v2, vh2) { \
103         .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID2| \
104                         PCMCIA_DEV_ID_MATCH_FUNCTION, \
105         .prod_id = { NULL, (v2), NULL, NULL },  \
106         .prod_id_hash = { 0, (vh2), 0, 0 }, \
107         .function = (mfc), }
108 
109 #define PCMCIA_MFC_DEVICE_PROD_ID12(mfc, v1, v2, vh1, vh2) { \
110         .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1| \
111                         PCMCIA_DEV_ID_MATCH_PROD_ID2| \
112                         PCMCIA_DEV_ID_MATCH_FUNCTION, \
113         .prod_id = { (v1), (v2), NULL, NULL }, \
114         .prod_id_hash = { (vh1), (vh2), 0, 0 }, \
115         .function = (mfc), }
116 
117 #define PCMCIA_MFC_DEVICE_PROD_ID13(mfc, v1, v3, vh1, vh3) { \
118         .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1| \
119                         PCMCIA_DEV_ID_MATCH_PROD_ID3| \
120                         PCMCIA_DEV_ID_MATCH_FUNCTION, \
121         .prod_id = { (v1), NULL, (v3), NULL }, \
122         .prod_id_hash = { (vh1), 0, (vh3), 0 }, \
123         .function = (mfc), }
124 
125 #define PCMCIA_MFC_DEVICE_PROD_ID123(mfc, v1, v2, v3, vh1, vh2, vh3) { \
126         .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1| \
127                         PCMCIA_DEV_ID_MATCH_PROD_ID2| \
128                         PCMCIA_DEV_ID_MATCH_PROD_ID3| \
129                         PCMCIA_DEV_ID_MATCH_FUNCTION, \
130         .prod_id = { (v1), (v2), (v3), NULL },\
131         .prod_id_hash = { (vh1), (vh2), (vh3), 0 }, \
132         .function = (mfc), }
133 
134 /* pseudo multi-function devices */
135 
136 #define PCMCIA_PFC_DEVICE_MANF_CARD(mfc, manf, card) { \
137         .match_flags = PCMCIA_DEV_ID_MATCH_MANF_ID| \
138                         PCMCIA_DEV_ID_MATCH_CARD_ID| \
139                         PCMCIA_DEV_ID_MATCH_DEVICE_NO, \
140         .manf_id = (manf), \
141         .card_id = (card), \
142         .device_no = (mfc), }
143 
144 #define PCMCIA_PFC_DEVICE_PROD_ID1(mfc, v1, vh1) { \
145         .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1| \
146                         PCMCIA_DEV_ID_MATCH_DEVICE_NO, \
147         .prod_id = { (v1), NULL, NULL, NULL }, \
148         .prod_id_hash = { (vh1), 0, 0, 0 }, \
149         .device_no = (mfc), }
150 
151 #define PCMCIA_PFC_DEVICE_PROD_ID2(mfc, v2, vh2) { \
152         .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID2| \
153                         PCMCIA_DEV_ID_MATCH_DEVICE_NO, \
154         .prod_id = { NULL, (v2), NULL, NULL },  \
155         .prod_id_hash = { 0, (vh2), 0, 0 }, \
156         .device_no = (mfc), }
157 
158 #define PCMCIA_PFC_DEVICE_PROD_ID12(mfc, v1, v2, vh1, vh2) { \
159         .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1| \
160                         PCMCIA_DEV_ID_MATCH_PROD_ID2| \
161                         PCMCIA_DEV_ID_MATCH_DEVICE_NO, \
162         .prod_id = { (v1), (v2), NULL, NULL }, \
163         .prod_id_hash = { (vh1), (vh2), 0, 0 }, \
164         .device_no = (mfc), }
165 
166 #define PCMCIA_PFC_DEVICE_PROD_ID13(mfc, v1, v3, vh1, vh3) { \
167         .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1| \
168                         PCMCIA_DEV_ID_MATCH_PROD_ID3| \
169                         PCMCIA_DEV_ID_MATCH_DEVICE_NO, \
170         .prod_id = { (v1), NULL, (v3), NULL }, \
171         .prod_id_hash = { (vh1), 0, (vh3), 0 }, \
172         .device_no = (mfc), }
173 
174 #define PCMCIA_PFC_DEVICE_PROD_ID123(mfc, v1, v2, v3, vh1, vh2, vh3) { \
175         .match_flags = PCMCIA_DEV_ID_MATCH_PROD_ID1| \
176                         PCMCIA_DEV_ID_MATCH_PROD_ID2| \
177                         PCMCIA_DEV_ID_MATCH_PROD_ID3| \
178                         PCMCIA_DEV_ID_MATCH_DEVICE_NO, \
179         .prod_id = { (v1), (v2), (v3), NULL },\
180         .prod_id_hash = { (vh1), (vh2), (vh3), 0 }, \
181         .device_no = (mfc), }
182 
183 /* cards needing a CIS override */
184 
185 #define PCMCIA_DEVICE_CIS_MANF_CARD(manf, card, _cisfile) { \
186         .match_flags = PCMCIA_DEV_ID_MATCH_FAKE_CIS | \
187                         PCMCIA_DEV_ID_MATCH_MANF_ID| \
188                         PCMCIA_DEV_ID_MATCH_CARD_ID, \
189         .manf_id = (manf), \
190         .card_id = (card), \
191         .cisfile = (_cisfile)}
192 
193 #define PCMCIA_DEVICE_CIS_PROD_ID12(v1, v2, vh1, vh2, _cisfile) { \
194         .match_flags = PCMCIA_DEV_ID_MATCH_FAKE_CIS | \
195                         PCMCIA_DEV_ID_MATCH_PROD_ID1| \
196                         PCMCIA_DEV_ID_MATCH_PROD_ID2, \
197         .prod_id = { (v1), (v2), NULL, NULL }, \
198         .prod_id_hash = { (vh1), (vh2), 0, 0 }, \
199         .cisfile = (_cisfile)}
200 
201 #define PCMCIA_DEVICE_CIS_PROD_ID123(v1, v2, v3, vh1, vh2, vh3, _cisfile) { \
202         .match_flags = PCMCIA_DEV_ID_MATCH_FAKE_CIS | \
203                         PCMCIA_DEV_ID_MATCH_PROD_ID1| \
204                         PCMCIA_DEV_ID_MATCH_PROD_ID2| \
205                         PCMCIA_DEV_ID_MATCH_PROD_ID3, \
206         .prod_id = { (v1), (v2), (v3), NULL },\
207         .prod_id_hash = { (vh1), (vh2), (vh3), 0 }, \
208         .cisfile = (_cisfile)}
209 
210 
211 #define PCMCIA_DEVICE_CIS_PROD_ID2(v2, vh2, _cisfile) { \
212         .match_flags =  PCMCIA_DEV_ID_MATCH_FAKE_CIS | \
213                         PCMCIA_DEV_ID_MATCH_PROD_ID2, \
214         .prod_id = { NULL, (v2), NULL, NULL },  \
215         .prod_id_hash = { 0, (vh2), 0, 0 }, \
216         .cisfile = (_cisfile)}
217 
218 #define PCMCIA_PFC_DEVICE_CIS_PROD_ID12(mfc, v1, v2, vh1, vh2, _cisfile) { \
219         .match_flags =  PCMCIA_DEV_ID_MATCH_FAKE_CIS | \
220                         PCMCIA_DEV_ID_MATCH_PROD_ID1| \
221                         PCMCIA_DEV_ID_MATCH_PROD_ID2| \
222                         PCMCIA_DEV_ID_MATCH_DEVICE_NO, \
223         .prod_id = { (v1), (v2), NULL, NULL }, \
224         .prod_id_hash = { (vh1), (vh2), 0, 0 },\
225         .device_no = (mfc), \
226         .cisfile = (_cisfile)}
227 
228 #define PCMCIA_MFC_DEVICE_CIS_MANF_CARD(mfc, manf, card, _cisfile) { \
229         .match_flags =  PCMCIA_DEV_ID_MATCH_FAKE_CIS | \
230                         PCMCIA_DEV_ID_MATCH_MANF_ID| \
231                         PCMCIA_DEV_ID_MATCH_CARD_ID| \
232                         PCMCIA_DEV_ID_MATCH_FUNCTION, \
233         .manf_id = (manf), \
234         .card_id = (card), \
235         .function = (mfc), \
236         .cisfile = (_cisfile)}
237 
238 #define PCMCIA_MFC_DEVICE_CIS_PROD_ID12(mfc, v1, v2, vh1, vh2, _cisfile) { \
239         .match_flags =  PCMCIA_DEV_ID_MATCH_FAKE_CIS | \
240                         PCMCIA_DEV_ID_MATCH_PROD_ID1| \
241                         PCMCIA_DEV_ID_MATCH_PROD_ID2| \
242                         PCMCIA_DEV_ID_MATCH_FUNCTION, \
243         .prod_id = { (v1), (v2), NULL, NULL }, \
244         .prod_id_hash = { (vh1), (vh2), 0, 0 }, \
245         .function = (mfc), \
246         .cisfile = (_cisfile)}
247 
248 #define PCMCIA_MFC_DEVICE_CIS_PROD_ID4(mfc, v4, vh4, _cisfile) { \
249         .match_flags =  PCMCIA_DEV_ID_MATCH_FAKE_CIS | \
250                         PCMCIA_DEV_ID_MATCH_PROD_ID4| \
251                         PCMCIA_DEV_ID_MATCH_FUNCTION, \
252         .prod_id = { NULL, NULL, NULL, (v4) }, \
253         .prod_id_hash = { 0, 0, 0, (vh4) }, \
254         .function = (mfc), \
255         .cisfile = (_cisfile)}
256 
257 
258 #define PCMCIA_DEVICE_NULL { .match_flags = 0, }
259 
  This page was automatically generated by the LXR engine.