From f484fc65931017c5a221e785e7405e64c7008d47 Mon Sep 17 00:00:00 2001 From: Poul-Henning Kamp Date: Thu, 12 Feb 2004 21:32:59 +0000 Subject: [PATCH] Don't use makedev() to hack up dev_t's early in boot, do it right with make_dev() (and avoid doing it again later). --- sys/dev/syscons/syscons.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/sys/dev/syscons/syscons.c b/sys/dev/syscons/syscons.c index 01159548a693..88c6ade511d6 100644 --- a/sys/dev/syscons/syscons.c +++ b/sys/dev/syscons/syscons.c @@ -389,9 +389,11 @@ sc_attach_unit(int unit, int flags) (void *)(uintptr_t)unit, SHUTDOWN_PRI_DEFAULT); for (vc = 0; vc < sc->vtys; vc++) { - dev = make_dev(&sc_cdevsw, vc + unit * MAXCONS, - UID_ROOT, GID_WHEEL, 0600, "ttyv%r", vc + unit * MAXCONS); - sc->dev[vc] = dev; + if (sc->dev[vc] == NULL) { + dev = make_dev(&sc_cdevsw, vc + unit * MAXCONS, + UID_ROOT, GID_WHEEL, 0600, "ttyv%r", vc + unit * MAXCONS); + sc->dev[vc] = dev; + } /* * The first vty already has struct tty and scr_stat initialized * in scinit(). The other vtys will have these structs when @@ -2730,7 +2732,8 @@ scinit(int unit, int flags) sc->vtys = MAXCONS; /* XXX: should be configurable */ if (flags & SC_KERNEL_CONSOLE) { sc->dev = main_devs; - sc->dev[0] = makedev(CDEV_MAJOR, unit*MAXCONS); + sc->dev[0] = make_dev(&sc_cdevsw, unit * MAXCONS, + UID_ROOT, GID_WHEEL, 0600, "ttyv%r", unit * MAXCONS); sc->dev[0]->si_tty = &main_tty; ttyregister(&main_tty); scp = &main_console; @@ -2745,7 +2748,8 @@ scinit(int unit, int flags) } else { /* assert(sc_malloc) */ sc->dev = malloc(sizeof(dev_t)*sc->vtys, M_DEVBUF, M_WAITOK|M_ZERO); - sc->dev[0] = makedev(CDEV_MAJOR, unit*MAXCONS); + sc->dev[0] = make_dev(&sc_cdevsw, unit * MAXCONS, + UID_ROOT, GID_WHEEL, 0600, "ttyv%r", unit * MAXCONS); sc->dev[0]->si_tty = ttymalloc(sc->dev[0]->si_tty); scp = alloc_scp(sc, sc->first_vty); }