34,12 → 34,18 |
|
#include <arch/drivers/kbd.h> |
#include <genarch/ofw/ofw_tree.h> |
|
#ifdef CONFIG_SUN_KBD |
#include <genarch/kbrd/kbrd.h> |
#endif |
#ifdef CONFIG_Z8530 |
#include <genarch/kbd/z8530.h> |
#include <genarch/drivers/z8530/z8530.h> |
#endif |
#ifdef CONFIG_NS16550 |
#include <genarch/kbd/ns16550.h> |
#include <genarch/drivers/ns16550/ns16550.h> |
#endif |
|
#include <console/console.h> |
#include <ddi/device.h> |
#include <ddi/irq.h> |
#include <arch/mm/page.h> |
51,6 → 57,8 |
|
kbd_type_t kbd_type = KBD_UNKNOWN; |
|
#ifdef CONFIG_SUN_KBD |
|
/** Initialize keyboard. |
* |
* Traverse OpenFirmware device tree in order to find necessary |
159,8 → 167,11 |
devno = device_assign_devno(); |
z8530 = (z8530_t *) hw_map(aligned_addr, offset + size) + |
offset; |
(void) z8530_init(z8530, devno, inr, cir, cir_arg); |
|
indev_t *kbrdin_z8530 = z8530_init(z8530, devno, inr, cir, cir_arg); |
if (kbrdin_z8530) |
kbrd_init(kbrdin_z8530); |
|
/* |
* This is the necessary evil until the userspace drivers are |
* entirely self-sufficient. |
179,8 → 190,11 |
devno = device_assign_devno(); |
ns16550 = (ns16550_t *) hw_map(aligned_addr, offset + size) + |
offset; |
(void) ns16550_init(ns16550, devno, inr, cir, cir_arg); |
|
indev_t *kbrdin_ns16550 = ns16550_init(ns16550, devno, inr, cir, cir_arg); |
if (kbrdin_ns16550) |
kbrd_init(kbrdin_ns16550); |
|
/* |
* This is the necessary evil until the userspace driver is |
* entirely self-sufficient. |
200,5 → 214,7 |
} |
} |
|
#endif |
|
/** @} |
*/ |