ucom_at_usb.c revision 1.3
11.3Spooka/*	$NetBSD: ucom_at_usb.c,v 1.3 2010/03/01 13:12:20 pooka Exp $	*/
21.1Spooka
31.1Spooka#include <sys/param.h>
41.1Spooka#include <sys/types.h>
51.1Spooka#include <sys/conf.h>
61.1Spooka#include <sys/device.h>
71.1Spooka#include <sys/kmem.h>
81.1Spooka#include <sys/stat.h>
91.1Spooka
101.1Spooka#include "ioconf.c"
111.1Spooka
121.3Spooka#include "rump_private.h"
131.1Spooka#include "rump_dev_private.h"
141.1Spooka#include "rump_vfs_private.h"
151.1Spooka
161.1Spooka#define FLAWLESSCALL(call)						\
171.1Spookado {									\
181.1Spooka	int att_error;							\
191.1Spooka	if ((att_error = call) != 0)					\
201.1Spooka		panic("\"%s\" failed", #call);				\
211.1Spooka} while (/*CONSTCOND*/0)
221.1Spooka
231.1Spookavoid tty_init(void);
241.1Spooka
251.3SpookaRUMP_COMPONENT(RUMP_COMPONENT_DEV)
261.1Spooka{
271.1Spooka	extern struct cdevsw ucom_cdevsw;
281.1Spooka	devmajor_t cmaj, bmaj;
291.1Spooka
301.1Spooka	FLAWLESSCALL(config_cfdata_attach(cfdata_ucom, 0));
311.1Spooka
321.1Spooka	FLAWLESSCALL(config_cfdriver_attach(&mainbus_cd));
331.1Spooka	FLAWLESSCALL(config_cfattach_attach("mainbus", &mainbus_ca));
341.1Spooka
351.1Spooka	FLAWLESSCALL(config_cfdriver_attach(&ugenhc_cd));
361.1Spooka	FLAWLESSCALL(config_cfattach_attach("ugenhc", &ugenhc_ca));
371.1Spooka
381.1Spooka	FLAWLESSCALL(config_cfdriver_attach(&usb_cd));
391.1Spooka	FLAWLESSCALL(config_cfattach_attach("usb", &usb_ca));
401.1Spooka
411.1Spooka	FLAWLESSCALL(config_cfdriver_attach(&uplcom_cd));
421.1Spooka	FLAWLESSCALL(config_cfattach_attach("uplcom", &uplcom_ca));
431.1Spooka
441.2Spooka	FLAWLESSCALL(config_cfdriver_attach(&u3ginit_cd));
451.2Spooka	FLAWLESSCALL(config_cfattach_attach("u3ginit", &u3ginit_ca));
461.2Spooka
471.2Spooka	FLAWLESSCALL(config_cfdriver_attach(&u3g_cd));
481.2Spooka	FLAWLESSCALL(config_cfattach_attach("u3g", &u3g_ca));
491.2Spooka
501.1Spooka	FLAWLESSCALL(config_cfdriver_attach(&ucom_cd));
511.1Spooka	FLAWLESSCALL(config_cfattach_attach("ucom", &ucom_ca));
521.1Spooka
531.1Spooka	FLAWLESSCALL(config_cfdriver_attach(&uhub_cd));
541.1Spooka	FLAWLESSCALL(config_cfattach_attach("uhub", &uroothub_ca));
551.1Spooka
561.1Spooka	bmaj = cmaj = -1;
571.1Spooka	FLAWLESSCALL(devsw_attach("ucom", NULL, &bmaj, &ucom_cdevsw, &cmaj));
581.1Spooka
591.1Spooka	FLAWLESSCALL(rump_vfs_makedevnodes(S_IFCHR, "/dev/ttyU", '0',
601.1Spooka	    cmaj, 0, 1));
611.1Spooka	FLAWLESSCALL(rump_vfs_makedevnodes(S_IFCHR, "/dev/dtyU", '0',
621.1Spooka	    cmaj, 0x80000, 1));
631.1Spooka
641.1Spooka	tty_init();
651.1Spooka}
66