diff options
author | sam <sam@FreeBSD.org> | 2008-03-25 23:46:24 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2008-03-25 23:46:24 +0000 |
commit | 2b9c326fca6e2a97c96fa124db2bbee1c62cf97c (patch) | |
tree | 2bf9cc558291a947ba7b9870f1cb2ba6c7ae1882 /sys | |
parent | 5f88f5ba906ec455439039d31329b624af98dd5a (diff) | |
download | FreeBSD-src-2b9c326fca6e2a97c96fa124db2bbee1c62cf97c.zip FreeBSD-src-2b9c326fca6e2a97c96fa124db2bbee1c62cf97c.tar.gz |
split out tty create part of ucom_attach into ucom_attach_tty so
derived drivers can use it
Submitted by: Jared Go
MFC after: 3 weeks
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/usb/ucom.c | 19 | ||||
-rw-r--r-- | sys/dev/usb/ucomvar.h | 1 |
2 files changed, 13 insertions, 7 deletions
diff --git a/sys/dev/usb/ucom.c b/sys/dev/usb/ucom.c index 20fb7ea..f99a73a 100644 --- a/sys/dev/usb/ucom.c +++ b/sys/dev/usb/ucom.c @@ -161,12 +161,9 @@ ucom_modevent(module_t mod, int type, void *data) } int -ucom_attach(struct ucom_softc *sc) +ucom_attach_tty(struct ucom_softc *sc, int flags, char* fmt, int unit) { struct tty *tp; - int unit; - - unit = device_get_unit(sc->sc_dev); sc->sc_tty = tp = ttyalloc(); tp->t_sc = sc; @@ -179,10 +176,18 @@ ucom_attach(struct ucom_softc *sc) tp->t_modem = ucommodem; tp->t_ioctl = ucomioctl; - DPRINTF(("ucom_attach: tty_attach tp = %p\n", tp)); + return ttycreate(tp, flags, fmt, unit); +} + +int +ucom_attach(struct ucom_softc *sc) +{ + + ucom_attach_tty(sc, TS_CALLOUT, + "U%d", device_get_unit(sc->sc_dev)); - ttycreate(tp, TS_CALLOUT, "U%d", unit); - DPRINTF(("ucom_attach: ttycreate: ttyU%d\n", unit)); + DPRINTF(("ucom_attach: ttycreate: tp = %p, %s\n", + sc->sc_tty, sc->sc_tty->t_dev->si_name)); return (0); } diff --git a/sys/dev/usb/ucomvar.h b/sys/dev/usb/ucomvar.h index 25cbc53..4a5ddd2 100644 --- a/sys/dev/usb/ucomvar.h +++ b/sys/dev/usb/ucomvar.h @@ -159,6 +159,7 @@ struct ucom_softc { extern devclass_t ucom_devclass; +int ucom_attach_tty(struct ucom_softc *, int, char*, int); int ucom_attach(struct ucom_softc *); int ucom_detach(struct ucom_softc *); void ucom_status_change(struct ucom_softc *); |