diff options
author | 1998-06-17 14:58:34 +0000 | |
---|---|---|
committer | 1998-06-17 14:58:34 +0000 | |
commit | 434a7b0f8eaa2166fca64cdf5838c3760ff20300 (patch) | |
tree | c66bf9fbb2701238aecc0a08eb384b2d825c1cc1 /sys/dev/cninit.c | |
parent | there is no such thing as APM_NOIDLE any more (diff) | |
download | wireguard-openbsd-434a7b0f8eaa2166fca64cdf5838c3760ff20300.tar.xz wireguard-openbsd-434a7b0f8eaa2166fca64cdf5838c3760ff20300.zip |
import cnset() from libsa
Diffstat (limited to 'sys/dev/cninit.c')
-rw-r--r-- | sys/dev/cninit.c | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/sys/dev/cninit.c b/sys/dev/cninit.c index a64dfa4cb8b..4a8cd2055cb 100644 --- a/sys/dev/cninit.c +++ b/sys/dev/cninit.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cninit.c,v 1.3 1996/04/18 04:05:40 mickey Exp $ */ +/* $OpenBSD: cninit.c,v 1.4 1998/06/17 14:58:35 mickey Exp $ */ /* $NetBSD: cninit.c,v 1.2 1995/04/11 22:08:10 pk Exp $ */ /* @@ -85,3 +85,30 @@ cninit() */ (*cp->cn_init)(cp); } + +int +cnset(dev) + dev_t dev; +{ + struct consdev *cp; + + /* + * Look for the specified console device and use it. + */ + for (cp = constab; cp->cn_probe; cp++) { + if (major(cp->cn_dev) == major(dev)) { + /* short-circuit noop */ + if (cp == cn_tab && cp->cn_dev == dev) + return (0); + if (cp->cn_pri > CN_DEAD) { + cn_tab = cp; + cp->cn_dev = dev; + /* Turn it on. */ + (cp->cn_init)(cp); + return (0); + } + break; + } + } + return (1); +} |