Changeset e9d15d9 in mainline for uspace/drv/nic/rtl8169/driver.c


Ignore:
Timestamp:
2017-08-18T21:15:26Z (7 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
24abb85d
Parents:
1c85bae
Message:

Turn IRQ structures into kernel objects

ipc_irq_subscribe() now returns a capability for the underlying IRQ kernel
object. ipc_irq_unsubscribe() can now be done only with a valid IRQ capability.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/nic/rtl8169/driver.c

    r1c85bae re9d15d9  
    371371        rtl8169_irq_code.cmds[2].addr = rtl8169->regs + ISR;
    372372        rtl8169_irq_code.cmds[3].addr = rtl8169->regs + IMR;
    373         int rc = register_interrupt_handler(nic_get_ddf_dev(nic_data),
     373        int irq_cap = register_interrupt_handler(nic_get_ddf_dev(nic_data),
    374374            rtl8169->irq, rtl8169_irq_handler, &rtl8169_irq_code);
    375375
    376         return rc;
     376        return irq_cap;
    377377}
    378378
     
    426426                goto err_pio;
    427427
    428         rc = rtl8169_register_int_handler(nic_data);
    429         if (rc != EOK) {
     428        int irq_cap = rtl8169_register_int_handler(nic_data);
     429        if (irq_cap < 0) {
     430                rc = irq_cap;
    430431                ddf_msg(LVL_ERROR, "Failed to register IRQ handler (%d)", rc);
    431432                goto err_irq;
    432 
    433433        }
    434434
     
    469469err_srv:
    470470        /* XXX Disconnect from services */
     471        unregister_interrupt_handler(dev, irq_cap);
    471472err_irq:
    472         //unregister_interrupt_handler(dev, rtl8169->irq);
    473473err_pio:
    474474err_destroy:
Note: See TracChangeset for help on using the changeset viewer.