Changeset 1462d35 in mainline


Ignore:
Timestamp:
2009-03-12T18:02:51Z (16 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
32ddab4e
Parents:
4df7d3a
Message:

update for the new scheme of wiring device drivers to keyboard/serial modules

Location:
kernel/arch
Files:
2 edited

Legend:

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

    r4df7d3a r1462d35  
    153153        srln_init(stdin);
    154154        ski_console_init(&srlnin);
    155 #endif         
    156 
     155#endif
     156       
    157157#ifdef I460GX
    158158#ifdef CONFIG_EGA
    159159        ega_init(EGA_BASE, EGA_VIDEORAM);
    160160#endif
    161 
     161       
    162162        devno_t devno = device_assign_devno();
    163163        inr_t inr;
    164 
     164       
    165165#ifdef CONFIG_NS16550
    166166        inr = NS16550_IRQ;
    167         srln_init(stdin);
    168         (void) ns16550_init((ns16550_t *)NS16550_BASE, devno, inr, NULL, NULL,
    169             &srlnin);
     167       
     168        indev_t *kbrdin = ns16550_init(ns16550_t *) NS16550_BASE, devno, inr, NULL, NULL);
     169        if (kbrdin)
     170                srln_init(kbrdin);
     171       
    170172        sysinfo_set_item_val("kbd.type", NULL, KBD_NS16550);
    171173        sysinfo_set_item_val("kbd.address.physical", NULL,
     
    175177#else
    176178        inr = IRQ_KBD;
    177         kbrd_init(stdin);
    178         (void) i8042_init((i8042_t *)I8042_BASE, devno, inr, &kbrdin);
    179         trap_virtual_enable_irqs(1 << inr);
     179        /*
     180         * Initialize the i8042 controller. Then initialize the keyboard
     181         * module and connect it to i8042. Enable keyboard interrupts.
     182         */
     183        indev_t *kbrdin = i8042_init((i8042_t *) I8042_BASE, devno, irq);
     184        if (kbrdin) {
     185                kbrd_init(kbrdin);
     186                trap_virtual_enable_irqs(1 << inr);
     187        }
     188       
    180189        sysinfo_set_item_val("kbd.type", NULL, KBD_LEGACY);
    181190        sysinfo_set_item_val("kbd.address.physical", NULL,
     
    188197        sysinfo_set_item_val("kbd.inr", NULL, inr);
    189198#endif
    190 
     199       
    191200        sysinfo_set_item_val("ia64_iospace", NULL, true);
    192201        sysinfo_set_item_val("ia64_iospace.address", NULL, true);
  • kernel/arch/sparc64/src/drivers/kbd.c

    r4df7d3a r1462d35  
    2727 */
    2828
    29 /** @addtogroup sparc64 
     29/** @addtogroup sparc64
    3030 * @{
    3131 */
     
    168168                z8530 = (z8530_t *) hw_map(aligned_addr, offset + size) +
    169169                    offset;
    170                 kbrd_init(stdin);
    171                 (void) z8530_init(z8530, devno, inr, cir, cir_arg, &kbrdin);
     170               
     171                indev_t *kbrdin = z8530_init(z8530, devno, inr, cir, cir_arg);
     172                if (kbrdin)
     173                        kbrd_init(kbrdin);
    172174               
    173175                /*
     
    189191                ns16550 = (ns16550_t *) hw_map(aligned_addr, offset + size) +
    190192                    offset;
    191                 kbrd_init(stdin);
    192                 (void) ns16550_init(ns16550, devno, inr, cir, cir_arg, &kbrdin);
     193               
     194                indev_t *kbrdin = ns16550_init(ns16550, devno, inr, cir, cir_arg);
     195                if (kbrdin)
     196                        kbrd_init(kbrdin);
    193197               
    194198                /*
Note: See TracChangeset for help on using the changeset viewer.