Changeset 01c3bb4 in mainline for uspace/drv/nic


Ignore:
Timestamp:
2017-11-25T15:43:25Z (8 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ce4a21a0
Parents:
98cb5e0d
Message:

Convert call-handling syscalls to capabilities

This commit modifies the behavior of sys_ipc_wait_for_call() to return a
capability handle for requests. This capability handle can be used
either by sys_ipc_answer*() to answer the call or by sys_ipc_forward*()
to forward it further along. Answering or forwarding the call results in
destruction of the respective capability. For requests and
notifications, sys_ipc_wait_for_call() returns CAP_NIL and sets call
flags accordingly.

Location:
uspace/drv/nic
Files:
4 edited

Legend:

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

    r98cb5e0d r01c3bb4  
    12371237/** Handle device interrupt
    12381238 *
    1239  * @param iid   IPC call id
    12401239 * @param icall IPC call structure
    12411240 * @param dev   E1000 device
    12421241 *
    12431242 */
    1244 static void e1000_interrupt_handler(ipc_callid_t iid, ipc_call_t *icall,
     1243static void e1000_interrupt_handler(ipc_call_t *icall,
    12451244    ddf_dev_t *dev)
    12461245{
  • uspace/drv/nic/ne2k/ne2k.c

    r98cb5e0d r01c3bb4  
    122122};
    123123
    124 static void ne2k_interrupt_handler(ipc_callid_t, ipc_call_t *, ddf_dev_t *);
     124static void ne2k_interrupt_handler(ipc_call_t *, ddf_dev_t *);
    125125
    126126static int ne2k_register_interrupt(nic_t *nic_data)
     
    239239}
    240240
    241 void ne2k_interrupt_handler(ipc_callid_t iid, ipc_call_t *call, ddf_dev_t *dev)
     241void ne2k_interrupt_handler(ipc_call_t *call, ddf_dev_t *dev)
    242242{
    243243        nic_t *nic_data = DRIVER_DATA(dev);
    244244        ne2k_interrupt(nic_data, IRQ_GET_ISR(*call), IRQ_GET_TSR(*call));
    245        
    246         async_answer_0(iid, EOK);
    247245}
    248246
  • uspace/drv/nic/rtl8139/driver.c

    r98cb5e0d r01c3bb4  
    816816/** Handle device interrupt
    817817 *
    818  * @param iid    The IPC call id
    819818 * @param icall  The IPC call structure
    820819 * @param dev    The rtl8139 device
    821820 *
    822821 */
    823 static void rtl8139_interrupt_handler(ipc_callid_t iid, ipc_call_t *icall,
    824     ddf_dev_t *dev)
     822static void rtl8139_interrupt_handler(ipc_call_t *icall, ddf_dev_t *dev)
    825823{
    826824        assert(dev);
  • uspace/drv/nic/rtl8169/driver.c

    r98cb5e0d r01c3bb4  
    7272static int rtl8169_on_stopped(nic_t *nic_data);
    7373static void rtl8169_send_frame(nic_t *nic_data, void *data, size_t size);
    74 static void rtl8169_irq_handler(ipc_callid_t iid, ipc_call_t *icall,
    75     ddf_dev_t *dev);
     74static void rtl8169_irq_handler(ipc_call_t *icall, ddf_dev_t *dev);
    7675static inline int rtl8169_register_int_handler(nic_t *nic_data);
    7776static inline void rtl8169_get_hwaddr(rtl8169_t *rtl8169, nic_address_t *addr);
     
    10321031}
    10331032
    1034 static void rtl8169_irq_handler(ipc_callid_t iid, ipc_call_t *icall,
    1035     ddf_dev_t *dev)
     1033static void rtl8169_irq_handler(ipc_call_t *icall, ddf_dev_t *dev)
    10361034{
    10371035        assert(dev);
Note: See TracChangeset for help on using the changeset viewer.