aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorDag-Erling Smørgrav <des@FreeBSD.org>2004-01-27 15:40:30 +0000
committerDag-Erling Smørgrav <des@FreeBSD.org>2004-01-27 15:40:30 +0000
commit823261a3e188b81c3983b0db5db723e1cff47e93 (patch)
tree9fff8518ed9e918100890130782bc4b54687ec4f /sys
parent41319fae45295492ced340e6b33cce30f63698c6 (diff)
downloadsrc-823261a3e188b81c3983b0db5db723e1cff47e93.tar.gz
src-823261a3e188b81c3983b0db5db723e1cff47e93.zip
While USB keyboards attach as ukbd[0-9]+, the device node created by
kbd_attach() is called kbd[0-9]+, with a different unit number. This makes it impossible to write a devd rule which will automatically switch to a USB keyboard when one is attached, because there is no way to guess the correct device node to pass to kbdcontrol. Therefore, change kbd_attach() to create a device node using the keyboard device's real name (atkbd0, ukbd0...), and create the kbd[0-9]+ node as an alias for backward compatibility.
Notes
Notes: svn path=/head/; revision=125087
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/kbd/kbd.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/kbd/kbd.c b/sys/dev/kbd/kbd.c
index f5dd583fd1d6..f4910e1ef34c 100644
--- a/sys/dev/kbd/kbd.c
+++ b/sys/dev/kbd/kbd.c
@@ -454,7 +454,8 @@ kbd_attach(keyboard_t *kbd)
return EINVAL;
kbd->kb_dev = make_dev(&kbd_cdevsw, kbd->kb_index, UID_ROOT, GID_WHEEL, 0600,
- "kbd%r", kbd->kb_index);
+ "%s%r", kbd->kb_name, kbd->kb_unit);
+ make_dev_alias(kbd->kb_dev, "kbd%r", kbd->kb_index);
kbd->kb_dev->si_drv1 = malloc(sizeof(genkbd_softc_t), M_DEVBUF,
M_WAITOK | M_ZERO);
printf("kbd%d at %s%d\n", kbd->kb_index, kbd->kb_name, kbd->kb_unit);