Rev 4119 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4119 | Rev 4148 | ||
---|---|---|---|
Line 37... | Line 37... | ||
37 | #include <genarch/drivers/z8530/z8530.h> |
37 | #include <genarch/drivers/z8530/z8530.h> |
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 | #include <ddi/device.h> |
|
42 | 43 | ||
43 | static indev_operations_t kbrdin_ops = { |
44 | static indev_operations_t kbrdin_ops = { |
44 | .poll = NULL |
45 | .poll = NULL |
45 | }; |
46 | }; |
46 | 47 | ||
Line 85... | Line 86... | ||
85 | indev_push_character(&instance->kbrdin, x); |
86 | indev_push_character(&instance->kbrdin, x); |
86 | } |
87 | } |
87 | } |
88 | } |
88 | 89 | ||
89 | /** Initialize z8530. */ |
90 | /** Initialize z8530. */ |
90 | indev_t *z8530_init(z8530_t *dev, devno_t devno, inr_t inr, cir_t cir, void *cir_arg) |
91 | indev_t *z8530_init(z8530_t *dev, inr_t inr, cir_t cir, void *cir_arg) |
91 | { |
92 | { |
92 | z8530_instance_t *instance |
93 | z8530_instance_t *instance |
93 | = malloc(sizeof(z8530_instance_t), FRAME_ATOMIC); |
94 | = malloc(sizeof(z8530_instance_t), FRAME_ATOMIC); |
94 | if (!instance) |
95 | if (!instance) |
95 | return false; |
96 | return false; |
96 | 97 | ||
97 | indev_initialize("z8530", &instance->kbrdin, &kbrdin_ops); |
98 | indev_initialize("z8530", &instance->kbrdin, &kbrdin_ops); |
98 | 99 | ||
99 | instance->devno = devno; |
- | |
100 | instance->z8530 = dev; |
100 | instance->z8530 = dev; |
101 | 101 | ||
102 | irq_initialize(&instance->irq); |
102 | irq_initialize(&instance->irq); |
103 | instance->irq.devno = devno; |
103 | instance->irq.devno = device_assign_devno(); |
104 | instance->irq.inr = inr; |
104 | instance->irq.inr = inr; |
105 | instance->irq.claim = z8530_claim; |
105 | instance->irq.claim = z8530_claim; |
106 | instance->irq.handler = z8530_irq_handler; |
106 | instance->irq.handler = z8530_irq_handler; |
107 | instance->irq.instance = instance; |
107 | instance->irq.instance = instance; |
108 | instance->irq.cir = cir; |
108 | instance->irq.cir = cir; |