summaryrefslogtreecommitdiffstats
path: root/freebsd/sys/dev/kbd/kbdreg.h
diff options
context:
space:
mode:
Diffstat (limited to 'freebsd/sys/dev/kbd/kbdreg.h')
-rw-r--r--freebsd/sys/dev/kbd/kbdreg.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/freebsd/sys/dev/kbd/kbdreg.h b/freebsd/sys/dev/kbd/kbdreg.h
index 07c4cfd9..886b6c49 100644
--- a/freebsd/sys/dev/kbd/kbdreg.h
+++ b/freebsd/sys/dev/kbd/kbdreg.h
@@ -205,14 +205,19 @@ typedef struct keyboard_switch {
#define kbdd_poll(kbd, on) \
(*kbdsw[(kbd)->kb_index]->poll)((kbd), (on))
#define kbdd_diag(kbd, level) \
- (*kbdsw[(kbd)->kb_index]->diag)((kbd), (leve))
+ (*kbdsw[(kbd)->kb_index]->diag)((kbd), (level))
-/* keyboard driver */
+/*
+ * Keyboard driver definition. Some of these be immutable after definition
+ * time, e.g. one shouldn't be able to rename a driver or use a different kbdsw
+ * entirely, but patching individual methods is acceptable.
+ */
typedef struct keyboard_driver {
SLIST_ENTRY(keyboard_driver) link;
- char *name;
- keyboard_switch_t *kbdsw;
- int (*configure)(int); /* backdoor for the console driver */
+ const char * const name;
+ keyboard_switch_t * const kbdsw;
+ /* backdoor for the console driver */
+ int (* const configure)(int);
} keyboard_driver_t;
#ifdef _KERNEL