summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2008-03-25 23:46:24 +0000
committersam <sam@FreeBSD.org>2008-03-25 23:46:24 +0000
commit2b9c326fca6e2a97c96fa124db2bbee1c62cf97c (patch)
tree2bf9cc558291a947ba7b9870f1cb2ba6c7ae1882 /sys/dev/usb
parent5f88f5ba906ec455439039d31329b624af98dd5a (diff)
downloadFreeBSD-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/dev/usb')
-rw-r--r--sys/dev/usb/ucom.c19
-rw-r--r--sys/dev/usb/ucomvar.h1
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 *);
OpenPOWER on IntegriCloud