Changeset 8820544 in mainline for uspace/drv/nic


Ignore:
Timestamp:
2014-08-16T00:02:04Z (11 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
35b8bfe, 8cd680c
Parents:
83f29e0
Message:

support for kernel notification multiplexing in the async framework

  • rename SYS_EVENT_* and SYS_IRQ_* syscalls to unify the terminology
  • add SYS_IPC_EVENT_UNSUBSCRIBE
  • remove IRQ handler multiplexing from DDF, the generic mechanism replaces it (unfortunatelly the order of arguments used by interrupt_handler_t needs to be permutated to align with the async framework conventions)
Location:
uspace/drv/nic
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/nic/e1k/e1k.c

    r83f29e0 r8820544  
    12291229/** Handle device interrupt
    12301230 *
    1231  * @param dev   E1000 device
    12321231 * @param iid   IPC call id
    12331232 * @param icall IPC call structure
    1234  *
    1235  */
    1236 static void e1000_interrupt_handler(ddf_dev_t *dev, ipc_callid_t iid,
    1237     ipc_call_t *icall)
     1233 * @param dev   E1000 device
     1234 *
     1235 */
     1236static void e1000_interrupt_handler(ipc_callid_t iid, ipc_call_t *icall,
     1237    ddf_dev_t *dev)
    12381238{
    12391239        uint32_t icr = (uint32_t) IPC_GET_ARG2(*icall);
  • uspace/drv/nic/ne2k/ne2k.c

    r83f29e0 r8820544  
    122122};
    123123
    124 static void ne2k_interrupt_handler(ddf_dev_t *dev, ipc_callid_t iid,
    125         ipc_call_t *call);
     124static void ne2k_interrupt_handler(ipc_callid_t, ipc_call_t *, ddf_dev_t *);
    126125
    127126static int ne2k_register_interrupt(nic_t *nic_data)
     
    240239}
    241240
    242 void ne2k_interrupt_handler(ddf_dev_t *dev, ipc_callid_t iid, ipc_call_t *call)
     241void ne2k_interrupt_handler(ipc_callid_t iid, ipc_call_t *call, ddf_dev_t *dev)
    243242{
    244243        nic_t *nic_data = DRIVER_DATA(dev);
    245244        ne2k_interrupt(nic_data, IRQ_GET_ISR(*call), IRQ_GET_TSR(*call));
    246 
     245       
    247246        async_answer_0(iid, EOK);
    248247}
  • uspace/drv/nic/rtl8139/driver.c

    r83f29e0 r8820544  
    852852/** Handle device interrupt
    853853 *
    854  *  @param dev    The rtl8139 device
    855  *  @param iid    The IPC call id
    856  *  @param icall  The IPC call structure
    857  */
    858 static void rtl8139_interrupt_handler(ddf_dev_t *dev, ipc_callid_t iid,
    859     ipc_call_t *icall)
     854 * @param iid    The IPC call id
     855 * @param icall  The IPC call structure
     856 * @param dev    The rtl8139 device
     857 *
     858 */
     859static void rtl8139_interrupt_handler(ipc_callid_t iid, ipc_call_t *icall,
     860    ddf_dev_t *dev)
    860861{
    861862        assert(dev);
  • uspace/drv/nic/rtl8169/driver.c

    r83f29e0 r8820544  
    7676static int rtl8169_on_stopped(nic_t *nic_data);
    7777static void rtl8169_send_frame(nic_t *nic_data, void *data, size_t size);
    78 static void rtl8169_irq_handler(ddf_dev_t *dev, ipc_callid_t iid,
    79     ipc_call_t *icall);
     78static void rtl8169_irq_handler(ipc_callid_t iid, ipc_call_t *icall,
     79    ddf_dev_t *dev);
    8080static inline int rtl8169_register_int_handler(nic_t *nic_data);
    8181static inline void rtl8169_get_hwaddr(rtl8169_t *rtl8169, nic_address_t *addr);
     
    897897}
    898898
    899 static void rtl8169_irq_handler(ddf_dev_t *dev, ipc_callid_t iid,
    900     ipc_call_t *icall)
     899static void rtl8169_irq_handler(ipc_callid_t iid, ipc_call_t *icall,
     900    ddf_dev_t *dev)
    901901{
    902902        assert(dev);
Note: See TracChangeset for help on using the changeset viewer.