Changes in uspace/drv/nic/rtl8169/driver.c [e55d2c1:60744cb] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/nic/rtl8169/driver.c
re55d2c1 r60744cb 74 74 static errno_t rtl8169_on_stopped(nic_t *nic_data); 75 75 static void rtl8169_send_frame(nic_t *nic_data, void *data, size_t size); 76 static void rtl8169_irq_handler(ipc_call_t *icall, ddf_dev_t *dev);76 static void rtl8169_irq_handler(ipc_call_t *icall, void *); 77 77 static inline errno_t rtl8169_register_int_handler(nic_t *nic_data, 78 78 cap_irq_handle_t *handle); … … 372 372 rtl8169_irq_code.cmds[3].addr = rtl8169->regs + IMR; 373 373 errno_t rc = register_interrupt_handler(nic_get_ddf_dev(nic_data), 374 rtl8169->irq, rtl8169_irq_handler, &rtl8169_irq_code, handle); 374 rtl8169->irq, rtl8169_irq_handler, (void *)rtl8169, 375 &rtl8169_irq_code, handle); 375 376 376 377 return rc; … … 457 458 } 458 459 459 rc = nic_fun_add_to_cats(fun);460 rc = ddf_fun_add_to_category(fun, DEVICE_CATEGORY_NIC); 460 461 if (rc != EOK) { 461 ddf_msg(LVL_ERROR, "Failed adding function to categories"); 462 ddf_fun_unbind(fun); 463 return rc; 462 ddf_msg(LVL_ERROR, "Failed adding function to category"); 463 goto err_fun_bind; 464 464 } 465 465 … … 468 468 return EOK; 469 469 470 //err_fun_bind:471 //ddf_fun_unbind(fun);470 err_fun_bind: 471 ddf_fun_unbind(fun); 472 472 err_fun_create: 473 473 ddf_fun_destroy(fun); … … 1034 1034 } 1035 1035 1036 static void rtl8169_irq_handler(ipc_call_t *icall, ddf_dev_t *dev) 1037 { 1038 assert(dev); 1039 assert(icall); 1040 1036 /** RTL8169 IRQ handler. 1037 * 1038 * @param icall IRQ event notification 1039 * @param arg Argument (rtl8169_t *) 1040 */ 1041 static void rtl8169_irq_handler(ipc_call_t *icall, void *arg) 1042 { 1041 1043 uint16_t isr = (uint16_t) ipc_get_arg2(icall) & INT_KNOWN; 1042 nic_t *nic_data = nic_get_from_ddf_dev(dev); 1043 rtl8169_t *rtl8169 = nic_get_specific(nic_data); 1044 rtl8169_t *rtl8169 = (rtl8169_t *)arg; 1044 1045 1045 1046 ddf_msg(LVL_DEBUG, "rtl8169_irq_handler(): isr=0x%04x", isr); … … 1051 1052 /* Packet underrun or link change */ 1052 1053 if (isr & INT_PUN) { 1053 rtl8169_link_change( dev);1054 rtl8169_link_change(rtl8169->dev); 1054 1055 pio_write_16(rtl8169->regs + ISR, INT_PUN); 1055 1056 } … … 1057 1058 /* Transmit notification */ 1058 1059 if (isr & (INT_TER | INT_TOK | INT_TDU)) { 1059 rtl8169_transmit_done( dev);1060 rtl8169_transmit_done(rtl8169->dev); 1060 1061 pio_write_16(rtl8169->regs + ISR, (INT_TER | INT_TOK | INT_TDU)); 1061 1062 } … … 1073 1074 1074 1075 if (isr & (INT_RER | INT_ROK)) { 1075 rtl8169_receive_done( dev);1076 rtl8169_receive_done(rtl8169->dev); 1076 1077 pio_write_16(rtl8169->regs + ISR, (INT_RER | INT_ROK)); 1077 1078 }
Note:
See TracChangeset
for help on using the changeset viewer.