Changes in uspace/drv/nic/rtl8169/driver.c [60744cb:e55d2c1] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/nic/rtl8169/driver.c
r60744cb re55d2c1 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, void *);76 static void rtl8169_irq_handler(ipc_call_t *icall, ddf_dev_t *dev); 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, (void *)rtl8169, 375 &rtl8169_irq_code, handle); 374 rtl8169->irq, rtl8169_irq_handler, &rtl8169_irq_code, handle); 376 375 377 376 return rc; … … 458 457 } 459 458 460 rc = ddf_fun_add_to_category(fun, DEVICE_CATEGORY_NIC);459 rc = nic_fun_add_to_cats(fun); 461 460 if (rc != EOK) { 462 ddf_msg(LVL_ERROR, "Failed adding function to category"); 463 goto err_fun_bind; 461 ddf_msg(LVL_ERROR, "Failed adding function to categories"); 462 ddf_fun_unbind(fun); 463 return rc; 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 /** 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 { 1036 static void rtl8169_irq_handler(ipc_call_t *icall, ddf_dev_t *dev) 1037 { 1038 assert(dev); 1039 assert(icall); 1040 1043 1041 uint16_t isr = (uint16_t) ipc_get_arg2(icall) & INT_KNOWN; 1044 rtl8169_t *rtl8169 = (rtl8169_t *)arg; 1042 nic_t *nic_data = nic_get_from_ddf_dev(dev); 1043 rtl8169_t *rtl8169 = nic_get_specific(nic_data); 1045 1044 1046 1045 ddf_msg(LVL_DEBUG, "rtl8169_irq_handler(): isr=0x%04x", isr); … … 1052 1051 /* Packet underrun or link change */ 1053 1052 if (isr & INT_PUN) { 1054 rtl8169_link_change( rtl8169->dev);1053 rtl8169_link_change(dev); 1055 1054 pio_write_16(rtl8169->regs + ISR, INT_PUN); 1056 1055 } … … 1058 1057 /* Transmit notification */ 1059 1058 if (isr & (INT_TER | INT_TOK | INT_TDU)) { 1060 rtl8169_transmit_done( rtl8169->dev);1059 rtl8169_transmit_done(dev); 1061 1060 pio_write_16(rtl8169->regs + ISR, (INT_TER | INT_TOK | INT_TDU)); 1062 1061 } … … 1074 1073 1075 1074 if (isr & (INT_RER | INT_ROK)) { 1076 rtl8169_receive_done( rtl8169->dev);1075 rtl8169_receive_done(dev); 1077 1076 pio_write_16(rtl8169->regs + ISR, (INT_RER | INT_ROK)); 1078 1077 }
Note:
See TracChangeset
for help on using the changeset viewer.