ucom_at_usb.c revision 1.1
11.1Spooka/*	$NetBSD: ucom_at_usb.c,v 1.1 2010/02/11 02:22:09 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.1Spooka#include "rump_dev_private.h"
131.1Spooka#include "rump_vfs_private.h"
141.1Spooka
151.1Spooka#define FLAWLESSCALL(call)						\
161.1Spookado {									\
171.1Spooka	int att_error;							\
181.1Spooka	if ((att_error = call) != 0)					\
191.1Spooka		panic("\"%s\" failed", #call);				\
201.1Spooka} while (/*CONSTCOND*/0)
211.1Spooka
221.1Spookavoid tty_init(void);
231.1Spooka
241.1Spookavoid
251.1Spookarump_device_configuration(void)
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.1Spooka	FLAWLESSCALL(config_cfdriver_attach(&ucom_cd));
451.1Spooka	FLAWLESSCALL(config_cfattach_attach("ucom", &ucom_ca));
461.1Spooka
471.1Spooka	FLAWLESSCALL(config_cfdriver_attach(&uhub_cd));
481.1Spooka	FLAWLESSCALL(config_cfattach_attach("uhub", &uroothub_ca));
491.1Spooka
501.1Spooka	bmaj = cmaj = -1;
511.1Spooka	FLAWLESSCALL(devsw_attach("ucom", NULL, &bmaj, &ucom_cdevsw, &cmaj));
521.1Spooka
531.1Spooka	FLAWLESSCALL(rump_vfs_makedevnodes(S_IFCHR, "/dev/ttyU", '0',
541.1Spooka	    cmaj, 0, 1));
551.1Spooka	FLAWLESSCALL(rump_vfs_makedevnodes(S_IFCHR, "/dev/dtyU", '0',
561.1Spooka	    cmaj, 0x80000, 1));
571.1Spooka
581.1Spooka	tty_init();
591.1Spooka}
60