Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/char/i8042/main.c

    r7de1988c rca4730a5  
    4949 *
    5050 * @param[in]  dev            Device asking for the addresses.
    51  * @param[out] p_io_reg       Pointer to register range.
     51 * @param[out] io_reg_address Base address of the memory range.
     52 * @param[out] io_reg_size    Size of the memory range.
    5253 * @param[out] kbd_irq        Primary port IRQ.
    5354 * @param[out] mouse_irq      Auxiliary port IRQ.
     
    5657 *
    5758 */
    58 static int get_my_registers(ddf_dev_t *dev, addr_range_t *p_io_reg,
    59     int *kbd_irq, int *mouse_irq)
     59static int get_my_registers(ddf_dev_t *dev, uintptr_t *io_reg_address,
     60    size_t *io_reg_size, int *kbd_irq, int *mouse_irq)
    6061{
    6162        assert(dev);
     
    7879        }
    7980       
    80         if (p_io_reg)
    81                 *p_io_reg = hw_resources.io_ranges.ranges[0];
     81        if (io_reg_address)
     82                *io_reg_address = hw_resources.io_ranges.ranges[0].address;
     83       
     84        if (io_reg_size)
     85                *io_reg_size = hw_resources.io_ranges.ranges[0].size;
    8286       
    8387        if (kbd_irq)
     
    100104static int i8042_dev_add(ddf_dev_t *device)
    101105{
    102         addr_range_t io_regs;
     106        uintptr_t io_regs = 0;
     107        size_t io_size = 0;
    103108        int kbd = 0;
    104109        int mouse = 0;
     
    108113                return EINVAL;
    109114       
    110         rc = get_my_registers(device, &io_regs, &kbd, &mouse);
     115        rc = get_my_registers(device, &io_regs, &io_size, &kbd, &mouse);
    111116        if (rc != EOK) {
    112117                ddf_msg(LVL_ERROR, "Failed to get registers: %s.",
     
    115120        }
    116121       
    117         ddf_msg(LVL_DEBUG,
    118             "I/O regs at %p (size %zuB), IRQ kbd %d, IRQ mouse %d.",
    119             RNGABSPTR(io_regs), RNGSZ(io_regs), kbd, mouse);
     122        ddf_msg(LVL_DEBUG, "I/O regs at %p (size %zuB), IRQ kbd %d, IRQ mouse %d.",
     123            (void *) io_regs, io_size, kbd, mouse);
    120124       
    121125        i8042_t *i8042 = ddf_dev_data_alloc(device, sizeof(i8042_t));
     
    125129        }
    126130       
    127         rc = i8042_init(i8042, &io_regs, kbd, mouse, device);
     131        rc = i8042_init(i8042, (void *) io_regs, io_size, kbd, mouse, device);
    128132        if (rc != EOK) {
    129133                ddf_msg(LVL_ERROR, "Failed to initialize i8042 driver: %s.",
Note: See TracChangeset for help on using the changeset viewer.