Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/genarch/src/drivers/ns16550/ns16550.c

    r82dcd25 raafed15  
    3939#include <genarch/drivers/ns16550/ns16550.h>
    4040#include <ddi/irq.h>
    41 #include <ddi/ddi.h>
    4241#include <arch/asm.h>
    4342#include <console/chardev.h>
    4443#include <stdlib.h>
    45 #include <align.h>
    4644#include <str.h>
    4745
     
    145143 *
    146144 */
    147 ns16550_instance_t *ns16550_init(ioport8_t *dev_phys, unsigned reg_shift,
    148     inr_t inr, cir_t cir, void *cir_arg, outdev_t **output)
    149 {
    150         size_t size = 6 * (1U << reg_shift);
    151         ioport8_t *dev = pio_map((void *) dev_phys, size);
    152 
    153         ns16550_instance_t *instance = malloc(sizeof(ns16550_instance_t));
     145ns16550_instance_t *ns16550_init(ioport8_t *dev, unsigned reg_shift, inr_t inr,
     146    cir_t cir, void *cir_arg, outdev_t **output)
     147{
     148        ns16550_instance_t *instance =
     149            malloc(sizeof(ns16550_instance_t));
    154150        if (instance) {
    155151                instance->ns16550 = dev;
     
    162158                        if (!instance->output) {
    163159                                free(instance);
    164                                 pio_unmap((void *) dev_phys, (void *) dev,
    165                                     size);
    166160                                return NULL;
    167161                        }
     
    182176
    183177                ddi_parea_init(&instance->parea);
    184                 instance->parea.pbase = ALIGN_DOWN((uintptr_t) dev_phys,
    185                     PAGE_SIZE);
    186                 instance->parea.frames = ALIGN_UP(size, PAGE_SIZE);
     178                instance->parea.pbase = (uintptr_t) dev;
     179                instance->parea.frames = 1;
    187180                instance->parea.unpriv = false;
    188181                instance->parea.mapped = false;
Note: See TracChangeset for help on using the changeset viewer.