Changeset 449d4ecc in mainline for kernel/arch/ia64/src/ia64.c


Ignore:
Timestamp:
2009-03-13T09:52:58Z (15 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
d0688a3
Parents:
03976d60
Message:

bring back HID on ia64

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ia64/src/ia64.c

    r03976d60 r449d4ecc  
    6969
    7070/* NS16550 as a COM 1 */
    71 #define NS16550_IRQ     (4 + LEGACY_INTERRUPT_BASE)
     71#define NS16550_IRQ  (4 + LEGACY_INTERRUPT_BASE)
    7272
    7373bootinfo_t *bootinfo;
     
    158158#endif
    159159       
    160 #ifdef I460GX
    161160#ifdef CONFIG_EGA
    162161        ega_init(EGA_BASE, EGA_VIDEORAM);
    163162#endif
    164163       
    165         devno_t devno = device_assign_devno();
    166         inr_t inr;
    167        
    168164#ifdef CONFIG_NS16550
    169         inr = NS16550_IRQ;
    170        
    171         indev_t *kbrdin = ns16550_init((ns16550_t *) NS16550_BASE, devno, inr, NULL, NULL);
    172         if (kbrdin)
    173                 srln_init(kbrdin);
    174        
     165        devno_t devno_ns16550 = device_assign_devno();
     166        indev_t *kbrdin_ns16550
     167            = ns16550_init((ns16550_t *) NS16550_BASE, devno_ns16550, NS16550_IRQ, NULL, NULL);
     168        if (kbrdin_ns16550)
     169                srln_init(kbrdin_ns16550);
     170       
     171        sysinfo_set_item_val("kbd", NULL, true);
     172        sysinfo_set_item_val("kbd.devno", NULL, devno_ns16550);
     173        sysinfo_set_item_val("kbd.inr", NULL, NS16550_IRQ);
    175174        sysinfo_set_item_val("kbd.type", NULL, KBD_NS16550);
    176175        sysinfo_set_item_val("kbd.address.physical", NULL,
     
    178177        sysinfo_set_item_val("kbd.address.kernel", NULL,
    179178            (uintptr_t) NS16550_BASE);
    180 #else
    181         inr = IRQ_KBD;
    182         /*
    183          * Initialize the i8042 controller. Then initialize the keyboard
    184          * module and connect it to i8042. Enable keyboard interrupts.
    185          */
    186         indev_t *kbrdin = i8042_init((i8042_t *) I8042_BASE, devno, irq);
    187         if (kbrdin) {
    188                 kbrd_init(kbrdin);
    189                 trap_virtual_enable_irqs(1 << inr);
    190         }
    191        
     179#endif
     180       
     181#ifdef CONFIG_I8042
     182        devno_t devno_i8042 = device_assign_devno();
     183        indev_t *kbrdin_i8042 = i8042_init((i8042_t *) I8042_BASE, devno_i8042, IRQ_KBD);
     184        if (kbrdin_i8042)
     185                kbrd_init(kbrdin_i8042);
     186       
     187        sysinfo_set_item_val("kbd", NULL, true);
     188        sysinfo_set_item_val("kbd.devno", NULL, devno_i8042);
     189        sysinfo_set_item_val("kbd.inr", NULL, IRQ_KBD);
    192190        sysinfo_set_item_val("kbd.type", NULL, KBD_LEGACY);
    193191        sysinfo_set_item_val("kbd.address.physical", NULL,
     
    195193        sysinfo_set_item_val("kbd.address.kernel", NULL,
    196194            (uintptr_t) I8042_BASE);
    197 #endif
    198         sysinfo_set_item_val("kbd", NULL, true);
    199         sysinfo_set_item_val("kbd.devno", NULL, devno);
    200         sysinfo_set_item_val("kbd.inr", NULL, inr);
    201195#endif
    202196       
Note: See TracChangeset for help on using the changeset viewer.