Mon Mar 8 10:30:17 2010 UTC ()
convert to ioconf/pseudo-root


(pooka)
diff -r1.2 -r1.3 src/sys/rump/dev/lib/libulpt/ULPT.ioconf
diff -r1.2 -r1.3 src/sys/rump/dev/lib/libulpt/ulpt_at_usb.c

cvs diff -r1.2 -r1.3 src/sys/rump/dev/lib/libulpt/ULPT.ioconf (expand / switch to unified diff)

--- src/sys/rump/dev/lib/libulpt/ULPT.ioconf 2010/02/12 04:20:51 1.2
+++ src/sys/rump/dev/lib/libulpt/ULPT.ioconf 2010/03/08 10:30:17 1.3
@@ -1,10 +1,12 @@ @@ -1,10 +1,12 @@
1# $NetBSD: ULPT.ioconf,v 1.2 2010/02/12 04:20:51 pooka Exp $ 1# $NetBSD: ULPT.ioconf,v 1.3 2010/03/08 10:30:17 pooka Exp $
2# 2#
3 3
4ioconf ulpt 4ioconf ulpt
5 5
6include "conf/files" 6include "conf/files"
7include "dev/usb/files.usb" 7include "dev/usb/files.usb"
8include "rump/dev/files.rump" 8include "rump/dev/files.rump"
9 9
 10pseudo-root uhub*
 11
10ulpt* at uhub? port ? configuration ? interface ? 12ulpt* at uhub? port ? configuration ? interface ?

cvs diff -r1.2 -r1.3 src/sys/rump/dev/lib/libulpt/ulpt_at_usb.c (expand / switch to unified diff)

--- src/sys/rump/dev/lib/libulpt/ulpt_at_usb.c 2010/03/01 13:12:20 1.2
+++ src/sys/rump/dev/lib/libulpt/ulpt_at_usb.c 2010/03/08 10:30:17 1.3
@@ -1,419 +1,37 @@ @@ -1,419 +1,37 @@
1/* $NetBSD: ulpt_at_usb.c,v 1.2 2010/03/01 13:12:20 pooka Exp $ */ 1/* $NetBSD: ulpt_at_usb.c,v 1.3 2010/03/08 10:30:17 pooka Exp $ */
2 
3/* 
4 * MACHINE GENERATED: DO NOT EDIT 
5 * 
6 * ioconf.c, from "TESTI_ulpt" 
7 */ 
8 2
9#include <sys/param.h> 3#include <sys/param.h>
10#include <sys/conf.h> 4#include <sys/conf.h>
11#include <sys/device.h> 5#include <sys/device.h>
12#include <sys/mount.h> 6#include <sys/mount.h>
13#include <sys/stat.h> 7#include <sys/stat.h>
14 8
15static const struct cfiattrdata gpibdevcf_iattrdata = { 9#include "ioconf.c"
16 "gpibdev", 1, 
17 { 
18 { "address", "-1", -1 }, 
19 } 
20}; 
21static const struct cfiattrdata acpibuscf_iattrdata = { 
22 "acpibus", 0, { 
23 { NULL, NULL, 0 }, 
24 } 
25}; 
26static const struct cfiattrdata caccf_iattrdata = { 
27 "cac", 1, 
28 { 
29 { "unit", "-1", -1 }, 
30 } 
31}; 
32static const struct cfiattrdata spicf_iattrdata = { 
33 "spi", 1, 
34 { 
35 { "slave", "NULL", 0 }, 
36 } 
37}; 
38static const struct cfiattrdata radiodevcf_iattrdata = { 
39 "radiodev", 0, { 
40 { NULL, NULL, 0 }, 
41 } 
42}; 
43static const struct cfiattrdata mlxcf_iattrdata = { 
44 "mlx", 1, 
45 { 
46 { "unit", "-1", -1 }, 
47 } 
48}; 
49static const struct cfiattrdata ucombuscf_iattrdata = { 
50 "ucombus", 1, 
51 { 
52 { "portno", "-1", -1 }, 
53 } 
54}; 
55static const struct cfiattrdata videobuscf_iattrdata = { 
56 "videobus", 0, { 
57 { NULL, NULL, 0 }, 
58 } 
59}; 
60static const struct cfiattrdata isabuscf_iattrdata = { 
61 "isabus", 0, { 
62 { NULL, NULL, 0 }, 
63 } 
64}; 
65static const struct cfiattrdata i2cbuscf_iattrdata = { 
66 "i2cbus", 0, { 
67 { NULL, NULL, 0 }, 
68 } 
69}; 
70static const struct cfiattrdata ata_hlcf_iattrdata = { 
71 "ata_hl", 1, 
72 { 
73 { "drive", "-1", -1 }, 
74 } 
75}; 
76static const struct cfiattrdata depcacf_iattrdata = { 
77 "depca", 0, { 
78 { NULL, NULL, 0 }, 
79 } 
80}; 
81static const struct cfiattrdata ppbuscf_iattrdata = { 
82 "ppbus", 0, { 
83 { NULL, NULL, 0 }, 
84 } 
85}; 
86static const struct cfiattrdata eisabuscf_iattrdata = { 
87 "eisabus", 0, { 
88 { NULL, NULL, 0 }, 
89 } 
90}; 
91static const struct cfiattrdata atapicf_iattrdata = { 
92 "atapi", 0, { 
93 { NULL, NULL, 0 }, 
94 } 
95}; 
96static const struct cfiattrdata usbroothubifcf_iattrdata = { 
97 "usbroothubif", 0, { 
98 { NULL, NULL, 0 }, 
99 } 
100}; 
101static const struct cfiattrdata altmemdevcf_iattrdata = { 
102 "altmemdev", 0, { 
103 { NULL, NULL, 0 }, 
104 } 
105}; 
106static const struct cfiattrdata tcbuscf_iattrdata = { 
107 "tcbus", 0, { 
108 { NULL, NULL, 0 }, 
109 } 
110}; 
111static const struct cfiattrdata onewirebuscf_iattrdata = { 
112 "onewirebus", 0, { 
113 { NULL, NULL, 0 }, 
114 } 
115}; 
116static const struct cfiattrdata gpiocf_iattrdata = { 
117 "gpio", 2, 
118 { 
119 { "offset", "-1", -1 }, 
120 { "mask", "0", 0 }, 
121 } 
122}; 
123static const struct cfiattrdata cbbuscf_iattrdata = { 
124 "cbbus", 0, { 
125 { NULL, NULL, 0 }, 
126 } 
127}; 
128static const struct cfiattrdata gpiobuscf_iattrdata = { 
129 "gpiobus", 0, { 
130 { NULL, NULL, 0 }, 
131 } 
132}; 
133static const struct cfiattrdata drmcf_iattrdata = { 
134 "drm", 0, { 
135 { NULL, NULL, 0 }, 
136 } 
137}; 
138static const struct cfiattrdata pckbportcf_iattrdata = { 
139 "pckbport", 1, 
140 { 
141 { "slot", "-1", -1 }, 
142 } 
143}; 
144static const struct cfiattrdata irbuscf_iattrdata = { 
145 "irbus", 0, { 
146 { NULL, NULL, 0 }, 
147 } 
148}; 
149static const struct cfiattrdata aaccf_iattrdata = { 
150 "aac", 1, 
151 { 
152 { "unit", "-1", -1 }, 
153 } 
154}; 
155static const struct cfiattrdata pcibuscf_iattrdata = { 
156 "pcibus", 1, 
157 { 
158 { "bus", "-1", -1 }, 
159 } 
160}; 
161static const struct cfiattrdata usbififcf_iattrdata = { 
162 "usbifif", 6, 
163 { 
164 { "port", "-1", -1 }, 
165 { "configuration", "-1", -1 }, 
166 { "interface", "-1", -1 }, 
167 { "vendor", "-1", -1 }, 
168 { "product", "-1", -1 }, 
169 { "release", "-1", -1 }, 
170 } 
171}; 
172static const struct cfiattrdata upccf_iattrdata = { 
173 "upc", 1, 
174 { 
175 { "offset", "-1", -1 }, 
176 } 
177}; 
178static const struct cfiattrdata iiccf_iattrdata = { 
179 "iic", 2, 
180 { 
181 { "addr", "-1", -1 }, 
182 { "size", "-1", -1 }, 
183 } 
184}; 
185static const struct cfiattrdata onewirecf_iattrdata = { 
186 "onewire", 0, { 
187 { NULL, NULL, 0 }, 
188 } 
189}; 
190static const struct cfiattrdata mcabuscf_iattrdata = { 
191 "mcabus", 0, { 
192 { NULL, NULL, 0 }, 
193 } 
194}; 
195static const struct cfiattrdata wsdisplaydevcf_iattrdata = { 
196 "wsdisplaydev", 1, 
197 { 
198 { "kbdmux", "1", 1 }, 
199 } 
200}; 
201static const struct cfiattrdata miicf_iattrdata = { 
202 "mii", 1, 
203 { 
204 { "phy", "-1", -1 }, 
205 } 
206}; 
207static const struct cfiattrdata cpcbuscf_iattrdata = { 
208 "cpcbus", 2, 
209 { 
210 { "addr", "NULL", 0 }, 
211 { "irq", "-1", -1 }, 
212 } 
213}; 
214static const struct cfiattrdata parportcf_iattrdata = { 
215 "parport", 0, { 
216 { NULL, NULL, 0 }, 
217 } 
218}; 
219static const struct cfiattrdata dbcoolcf_iattrdata = { 
220 "dbcool", 0, { 
221 { NULL, NULL, 0 }, 
222 } 
223}; 
224static const struct cfiattrdata usbdevifcf_iattrdata = { 
225 "usbdevif", 6, 
226 { 
227 { "port", "-1", -1 }, 
228 { "configuration", "-1", -1 }, 
229 { "interface", "-1", -1 }, 
230 { "vendor", "-1", -1 }, 
231 { "product", "-1", -1 }, 
232 { "release", "-1", -1 }, 
233 } 
234}; 
235static const struct cfiattrdata wskbddevcf_iattrdata = { 
236 "wskbddev", 2, 
237 { 
238 { "console", "-1", -1 }, 
239 { "mux", "1", 1 }, 
240 } 
241}; 
242static const struct cfiattrdata audiobuscf_iattrdata = { 
243 "audiobus", 0, { 
244 { NULL, NULL, 0 }, 
245 } 
246}; 
247static const struct cfiattrdata btbuscf_iattrdata = { 
248 "btbus", 0, { 
249 { NULL, NULL, 0 }, 
250 } 
251}; 
252static const struct cfiattrdata midibuscf_iattrdata = { 
253 "midibus", 0, { 
254 { NULL, NULL, 0 }, 
255 } 
256}; 
257static const struct cfiattrdata vmebuscf_iattrdata = { 
258 "vmebus", 0, { 
259 { NULL, NULL, 0 }, 
260 } 
261}; 
262static const struct cfiattrdata wsemuldisplaydevcf_iattrdata = { 
263 "wsemuldisplaydev", 2, 
264 { 
265 { "console", "-1", -1 }, 
266 { "kbdmux", "1", 1 }, 
267 } 
268}; 
269static const struct cfiattrdata uhidbuscf_iattrdata = { 
270 "uhidbus", 1, 
271 { 
272 { "reportid", "-1", -1 }, 
273 } 
274}; 
275static const struct cfiattrdata icpcf_iattrdata = { 
276 "icp", 1, 
277 { 
278 { "unit", "-1", -1 }, 
279 } 
280}; 
281static const struct cfiattrdata sdmmcbuscf_iattrdata = { 
282 "sdmmcbus", 0, { 
283 { NULL, NULL, 0 }, 
284 } 
285}; 
286static const struct cfiattrdata comcf_iattrdata = { 
287 "com", 0, { 
288 { NULL, NULL, 0 }, 
289 } 
290}; 
291static const struct cfiattrdata spiflashbuscf_iattrdata = { 
292 "spiflashbus", 0, { 
293 { NULL, NULL, 0 }, 
294 } 
295}; 
296static const struct cfiattrdata fwbuscf_iattrdata = { 
297 "fwbus", 0, { 
298 { NULL, NULL, 0 }, 
299 } 
300}; 
301static const struct cfiattrdata pcmciaslotcf_iattrdata = { 
302 "pcmciaslot", 0, { 
303 { NULL, NULL, 0 }, 
304 } 
305}; 
306static const struct cfiattrdata usbuscf_iattrdata = { 
307 "usbus", 0, { 
308 { NULL, NULL, 0 }, 
309 } 
310}; 
311static const struct cfiattrdata wsmousedevcf_iattrdata = { 
312 "wsmousedev", 1, 
313 { 
314 { "mux", "0", 0 }, 
315 } 
316}; 
317static const struct cfiattrdata scsicf_iattrdata = { 
318 "scsi", 1, 
319 { 
320 { "channel", "-1", -1 }, 
321 } 
322}; 
323static const struct cfiattrdata atacf_iattrdata = { 
324 "ata", 1, 
325 { 
326 { "channel", "-1", -1 }, 
327 } 
328}; 
329static const struct cfiattrdata spibuscf_iattrdata = { 
330 "spibus", 0, { 
331 { NULL, NULL, 0 }, 
332 } 
333}; 
334static const struct cfiattrdata pcmciabuscf_iattrdata = { 
335 "pcmciabus", 2, 
336 { 
337 { "controller", "-1", -1 }, 
338 { "socket", "-1", -1 }, 
339 } 
340}; 
341 
342static const struct cfiattrdata * const usb_attrs[] = { &usbroothubifcf_iattrdata, NULL }; 
343CFDRIVER_DECL(usb, DV_DULL, usb_attrs); 
344 
345static const struct cfiattrdata * const uhub_attrs[] = { &usbififcf_iattrdata, &usbdevifcf_iattrdata, NULL }; 
346CFDRIVER_DECL(uhub, DV_DULL, uhub_attrs); 
347 
348CFDRIVER_DECL(ulpt, DV_DULL, NULL); 
349 
350 
351extern struct cfattach usb_ca; 
352extern struct cfattach uroothub_ca; 
353extern struct cfattach ulpt_ca; 
354 
355/* locators */ 
356static int loc[6] = { 
357 -1, -1, -1, -1, -1, -1, 
358}; 
359 
360static const struct cfparent pspec1 = { 
361 "usbus", "rumpusbhc", DVUNIT_ANY 
362}; 
363static const struct cfparent pspec2 = { 
364 "usbroothubif", "usb", DVUNIT_ANY 
365}; 
366static const struct cfparent pspec3 = { 
367 "usbifif", "uhub", DVUNIT_ANY 
368}; 
369 
370#define NORM FSTATE_NOTFOUND 
371#define STAR FSTATE_STAR 
372 
373struct cfdata cfdata_ulpt[] = { 
374 /* driver attachment unit state loc flags pspec */ 
375/* 0: usb* at rumpusbhc? */ 
376 { "usb", "usb", 0, STAR, loc, 0, &pspec1 }, 
377/* 1: uhub* at usb? */ 
378 { "uhub", "uroothub", 0, STAR, loc, 0, &pspec2 }, 
379/* 2: ulpt* at uhub? port -1 configuration -1 interface -1 vendor -1 product -1 release -1 */ 
380 { "ulpt", "ulpt", 0, STAR, loc+ 0, 0, &pspec3 }, 
381 { NULL, NULL, 0, 0, NULL, 0, NULL } 
382}; 
383 10
384#include "rump_private.h" 11#include "rump_private.h"
385#include "rump_dev_private.h" 12#include "rump_dev_private.h"
386#include "rump_vfs_private.h" 13#include "rump_vfs_private.h"
387 14
388#define FLAWLESSCALL(call) \ 15#define FLAWLESSCALL(call) \
389do { \ 16do { \
390 int att_error; \ 17 int att_error; \
391 if ((att_error = call) != 0) \ 18 if ((att_error = call) != 0) \
392 panic("\"%s\" failed", #call); \ 19 panic("\"%s\" failed", #call); \
393} while (/*CONSTCOND*/0) 20} while (/*CONSTCOND*/0)
394 21
395RUMP_COMPONENT(RUMP_COMPONENT_DEV) 22RUMP_COMPONENT(RUMP_COMPONENT_DEV)
396{ 23{
397 extern struct cfattach usb_ca, uhub_ca, uroothub_ca, ulpt_ca; 
398 extern struct cdevsw ulpt_cdevsw; 24 extern struct cdevsw ulpt_cdevsw;
399 devmajor_t bmaj, cmaj; 25 devmajor_t bmaj, cmaj;
400 26
401 FLAWLESSCALL(config_cfdata_attach(cfdata_ulpt, 0)); 27 FLAWLESSCALL(config_cfdata_attach(cfdata_ulpt, 0));
402 28
403 FLAWLESSCALL(config_cfdriver_attach(&usb_cd)); 
404 FLAWLESSCALL(config_cfattach_attach("usb", &usb_ca)); 
405 
406 FLAWLESSCALL(config_cfdriver_attach(&uhub_cd)); 
407 FLAWLESSCALL(config_cfattach_attach("uhub", &uhub_ca)); 
408 
409 FLAWLESSCALL(config_cfdriver_attach(&ulpt_cd)); 29 FLAWLESSCALL(config_cfdriver_attach(&ulpt_cd));
410 FLAWLESSCALL(config_cfattach_attach("ulpt", &ulpt_ca)); 30 FLAWLESSCALL(config_cfattach_attach("ulpt", &ulpt_ca));
411 31
412 FLAWLESSCALL(config_cfattach_attach("uhub", &uroothub_ca)); 
413 
414 bmaj = cmaj = -1; 32 bmaj = cmaj = -1;
415 FLAWLESSCALL(devsw_attach("ulpt", NULL, &bmaj, &ulpt_cdevsw, &cmaj)); 33 FLAWLESSCALL(devsw_attach("ulpt", NULL, &bmaj, &ulpt_cdevsw, &cmaj));
416 34
417 FLAWLESSCALL(rump_vfs_makedevnodes(S_IFCHR, "/dev/ulpt", '0', 35 FLAWLESSCALL(rump_vfs_makedevnodes(S_IFCHR, "/dev/ulpt", '0',
418 cmaj, 0, 1)); 36 cmaj, 0, 1));
419} 37}