/trunk/kernel/genarch/src/drivers/ns16550/ns16550.c |
---|
39,6 → 39,7 |
#include <arch/asm.h> |
#include <console/chardev.h> |
#include <mm/slab.h> |
#include <ddi/device.h> |
#define LSR_DATA_READY 0x01 |
79,7 → 80,7 |
* @return Keyboard device pointer or NULL on failure. |
* |
*/ |
indev_t *ns16550_init(ns16550_t *dev, devno_t devno, inr_t inr, cir_t cir, void *cir_arg) |
indev_t *ns16550_init(ns16550_t *dev, inr_t inr, cir_t cir, void *cir_arg) |
{ |
ns16550_instance_t *instance |
= malloc(sizeof(ns16550_instance_t), FRAME_ATOMIC); |
88,11 → 89,10 |
indev_initialize("ns16550", &instance->kbrdin, &kbrdin_ops); |
instance->devno = devno; |
instance->ns16550 = dev; |
irq_initialize(&instance->irq); |
instance->irq.devno = devno; |
instance->irq.devno = device_assign_devno(); |
instance->irq.inr = inr; |
instance->irq.claim = ns16550_claim; |
instance->irq.handler = ns16550_irq_handler; |
/trunk/kernel/genarch/src/drivers/dsrln/dsrlnin.c |
---|
38,6 → 38,7 |
#include <console/chardev.h> |
#include <mm/slab.h> |
#include <arch/asm.h> |
#include <ddi/device.h> |
static indev_operations_t kbrdin_ops = { |
.poll = NULL |
56,7 → 57,7 |
indev_push_character(&instance->kbrdin, pio_read_8(&dev->data)); |
} |
indev_t *dsrlnin_init(dsrlnin_t *dev, devno_t devno, inr_t inr) |
indev_t *dsrlnin_init(dsrlnin_t *dev, inr_t inr) |
{ |
dsrlnin_instance_t *instance |
= malloc(sizeof(dsrlnin_instance_t), FRAME_ATOMIC); |
65,11 → 66,10 |
indev_initialize("dsrlnin", &instance->kbrdin, &kbrdin_ops); |
instance->devno = devno; |
instance->dsrlnin = dev; |
irq_initialize(&instance->irq); |
instance->irq.devno = devno; |
instance->irq.devno = device_assign_devno(); |
instance->irq.inr = inr; |
instance->irq.claim = dsrlnin_claim; |
instance->irq.handler = dsrlnin_irq_handler; |
/trunk/kernel/genarch/src/drivers/i8042/i8042.c |
---|
41,6 → 41,7 |
#include <arch/asm.h> |
#include <console/chardev.h> |
#include <mm/slab.h> |
#include <ddi/device.h> |
static indev_operations_t kbrdin_ops = { |
.poll = NULL |
76,7 → 77,7 |
} |
/** Initialize i8042. */ |
indev_t *i8042_init(i8042_t *dev, devno_t devno, inr_t inr) |
indev_t *i8042_init(i8042_t *dev, inr_t inr) |
{ |
i8042_instance_t *instance |
= malloc(sizeof(i8042_instance_t), FRAME_ATOMIC); |
85,11 → 86,10 |
indev_initialize("i8042", &instance->kbrdin, &kbrdin_ops); |
instance->devno = devno; |
instance->i8042 = dev; |
irq_initialize(&instance->irq); |
instance->irq.devno = devno; |
instance->irq.devno = device_assign_devno(); |
instance->irq.inr = inr; |
instance->irq.claim = i8042_claim; |
instance->irq.handler = i8042_irq_handler; |
/trunk/kernel/genarch/src/drivers/z8530/z8530.c |
---|
39,6 → 39,7 |
#include <ddi/irq.h> |
#include <arch/asm.h> |
#include <mm/slab.h> |
#include <ddi/device.h> |
static indev_operations_t kbrdin_ops = { |
.poll = NULL |
87,7 → 88,7 |
} |
/** Initialize z8530. */ |
indev_t *z8530_init(z8530_t *dev, devno_t devno, inr_t inr, cir_t cir, void *cir_arg) |
indev_t *z8530_init(z8530_t *dev, inr_t inr, cir_t cir, void *cir_arg) |
{ |
z8530_instance_t *instance |
= malloc(sizeof(z8530_instance_t), FRAME_ATOMIC); |
96,11 → 97,10 |
indev_initialize("z8530", &instance->kbrdin, &kbrdin_ops); |
instance->devno = devno; |
instance->z8530 = dev; |
irq_initialize(&instance->irq); |
instance->irq.devno = devno; |
instance->irq.devno = device_assign_devno(); |
instance->irq.inr = inr; |
instance->irq.claim = z8530_claim; |
instance->irq.handler = z8530_irq_handler; |