Subversion Repositories HelenOS

Rev

Rev 4094 | Rev 4148 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4094 Rev 4119
Line 38... Line 38...
38
#include <console/chardev.h>
38
#include <console/chardev.h>
39
#include <ddi/irq.h>
39
#include <ddi/irq.h>
40
#include <arch/asm.h>
40
#include <arch/asm.h>
41
#include <mm/slab.h>
41
#include <mm/slab.h>
42
 
42
 
43
indev_operations_t kbrdin_ops = {
43
static indev_operations_t kbrdin_ops = {
44
    .poll = NULL
44
    .poll = NULL
45
};
45
};
46
 
46
 
47
static inline void z8530_write(ioport8_t *ctl, uint8_t reg, uint8_t val)
47
static inline void z8530_write(ioport8_t *ctl, uint8_t reg, uint8_t val)
48
{
48
{
Line 80... Line 80...
80
    z8530_instance_t *instance = irq->instance;
80
    z8530_instance_t *instance = irq->instance;
81
    z8530_t *dev = instance->z8530;
81
    z8530_t *dev = instance->z8530;
82
   
82
   
83
    if (z8530_read(&dev->ctl_a, RR0) & RR0_RCA) {
83
    if (z8530_read(&dev->ctl_a, RR0) & RR0_RCA) {
84
        uint8_t x = z8530_read(&dev->ctl_a, RR8);
84
        uint8_t x = z8530_read(&dev->ctl_a, RR8);
85
        chardev_push_character(&instance->kbrdin, x);
85
        indev_push_character(&instance->kbrdin, x);
86
    }
86
    }
87
}
87
}
88
 
88
 
89
/** Initialize z8530. */
89
/** Initialize z8530. */
90
indev_t *z8530_init(z8530_t *dev, devno_t devno, inr_t inr, cir_t cir, void *cir_arg)
90
indev_t *z8530_init(z8530_t *dev, devno_t devno, inr_t inr, cir_t cir, void *cir_arg)