Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/hid/input/port/ns16550.c

    ra31aad1 r5da7199  
    7070#define LSR_DATA_READY  0x01
    7171
    72 static irq_pio_range_t ns16550_ranges[] = {
    73         {
    74                 .base = 0,
    75                 .size = 8
    76         }
    77 };
    78 
    7972static irq_cmd_t ns16550_cmds[] = {
    8073        {
     
    10598
    10699irq_code_t ns16550_kbd = {
    107         sizeof(ns16550_ranges) / sizeof(irq_pio_range_t),
    108         ns16550_ranges,
    109100        sizeof(ns16550_cmds) / sizeof(irq_cmd_t),
    110101        ns16550_cmds
     
    114105
    115106static uintptr_t ns16550_physical;
     107static uintptr_t ns16550_kernel;
    116108
    117109static kbd_dev_t *kbd_dev;
     
    132124                return -1;
    133125       
     126        if (sysinfo_get_value("kbd.address.kernel", &ns16550_kernel) != EOK)
     127                return -1;
     128       
    134129        sysarg_t inr;
    135130        if (sysinfo_get_value("kbd.inr", &inr) != EOK)
    136131                return -1;
    137132       
    138         ns16550_kbd.ranges[0].base = ns16550_physical;
    139         ns16550_kbd.cmds[0].addr = (void *) (ns16550_physical + LSR_REG);
    140         ns16550_kbd.cmds[3].addr = (void *) (ns16550_physical + RBR_REG);
     133        ns16550_kbd.cmds[0].addr = (void *) (ns16550_kernel + LSR_REG);
     134        ns16550_kbd.cmds[3].addr = (void *) (ns16550_kernel + RBR_REG);
    141135       
    142136        async_set_interrupt_received(ns16550_irq_handler);
    143         irq_register(inr, device_assign_devno(), inr, &ns16550_kbd);
     137        register_irq(inr, device_assign_devno(), inr, &ns16550_kbd);
    144138       
    145139        return pio_enable((void *) ns16550_physical, 8, &vaddr);
Note: See TracChangeset for help on using the changeset viewer.