Changeset 8d2760f in mainline for kernel/genarch/include/kbd


Ignore:
Timestamp:
2008-11-29T20:24:47Z (17 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
57e76cb
Parents:
dfd77382
Message:

Add additional members to the irq_t structure so that an interrupt-driven driver
does not need to know how to clear the level interrupt. The z8530 was modified
in this way and is much more generic. The ns16550 driver has also been modified,
but awaits testing. The sparc64 interrupt mapping and dispatch code is now using
the new info and calls the clear-interrupt-routine itself.

Location:
kernel/genarch/include/kbd
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • kernel/genarch/include/kbd/ns16550.h

    rdfd77382 r8d2760f  
    3939
    4040#include <console/chardev.h>
     41#include <ddi/irq.h>
    4142#include <ipc/irq.h>
    4243
    43 extern void ns16550_init(devno_t devno, inr_t inr, uintptr_t vaddr);
     44extern void ns16550_init(devno_t, uintptr_t, inr_t, cir_t, void *);
    4445extern void ns16550_poll(void);
    4546extern void ns16550_grab(void);
    4647extern void ns16550_release(void);
    47 extern char ns16550_key_read(chardev_t *d);
     48extern char ns16550_key_read(chardev_t *);
    4849extern irq_ownership_t ns16550_claim(void);
    49 extern void ns16550_irq_handler(irq_t *irq, void *arg, ...);
     50extern void ns16550_irq_handler(irq_t *, void *, ...);
    5051
    5152#include <arch/types.h>
  • kernel/genarch/include/kbd/z8530.h

    rdfd77382 r8d2760f  
    4040#include <console/chardev.h>
    4141#include <ipc/irq.h>
     42#include <ddi/irq.h>
    4243
    4344extern bool z8530_belongs_to_kernel;
    4445
    45 extern void z8530_init(devno_t devno, inr_t inr, uintptr_t vaddr);
     46extern void z8530_init(devno_t, uintptr_t, inr_t, cir_t, void *);
    4647extern void z8530_poll(void);
    4748extern void z8530_grab(void);
    4849extern void z8530_release(void);
    4950extern void z8530_interrupt(void);
    50 extern char z8530_key_read(chardev_t *d);
     51extern char z8530_key_read(chardev_t *);
    5152extern irq_ownership_t z8530_claim(void);
    52 extern void z8530_irq_handler(irq_t *irq, void *arg, ...);
     53extern void z8530_irq_handler(irq_t *, void *, ...);
    5354
    5455#endif
Note: See TracChangeset for help on using the changeset viewer.