Changeset 8e7c9fe in mainline for uspace/drv/nic/ne2k/ne2k.c
- Timestamp:
- 2014-09-12T03:45:25Z (11 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- c53b58e
- Parents:
- 3eb0c85 (diff), 105d8d6 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/nic/ne2k/ne2k.c
r3eb0c85 r8e7c9fe 38 38 */ 39 39 40 /* XXX Fix this */41 #define _DDF_DATA_IMPLANT42 43 40 #include <stdio.h> 44 41 #include <errno.h> 42 #include <irc.h> 45 43 #include <stdlib.h> 46 44 #include <str_error.h> … … 124 122 }; 125 123 126 static void ne2k_interrupt_handler(ddf_dev_t *dev, ipc_callid_t iid, 127 ipc_call_t *call); 124 static void ne2k_interrupt_handler(ipc_callid_t, ipc_call_t *, ddf_dev_t *); 128 125 129 126 static int ne2k_register_interrupt(nic_t *nic_data) … … 242 239 } 243 240 244 void ne2k_interrupt_handler( ddf_dev_t *dev, ipc_callid_t iid, ipc_call_t *call)241 void ne2k_interrupt_handler(ipc_callid_t iid, ipc_call_t *call, ddf_dev_t *dev) 245 242 { 246 243 nic_t *nic_data = DRIVER_DATA(dev); 247 244 ne2k_interrupt(nic_data, IRQ_GET_ISR(*call), IRQ_GET_TSR(*call)); 248 245 249 246 async_answer_0(iid, EOK); 250 247 } … … 256 253 if (!ne2k->up) { 257 254 int rc = ne2k_up(ne2k); 255 if (rc != EOK) 256 return rc; 257 258 rc = irc_enable_interrupt(ne2k->irq); 258 259 if (rc != EOK) { 260 ne2k_down(ne2k); 259 261 return rc; 260 262 } 261 262 nic_enable_interrupt(nic_data, ne2k->irq);263 263 } 264 264 return EOK; … … 269 269 ne2k_t *ne2k = (ne2k_t *) nic_get_specific(nic_data); 270 270 271 nic_disable_interrupt(nic_data,ne2k->irq);271 (void) irc_disable_interrupt(ne2k->irq); 272 272 ne2k->receive_configuration = RCR_AB | RCR_AM; 273 273 ne2k_down(ne2k); … … 396 396 } 397 397 398 rc = nic_connect_to_services(nic_data);399 if (rc != EOK) {400 ne2k_dev_cleanup(dev);401 return rc;402 }403 404 398 fun = ddf_fun_create(nic_get_ddf_dev(nic_data), fun_exposed, "port0"); 405 399 if (fun == NULL) { … … 407 401 return ENOMEM; 408 402 } 403 409 404 nic_set_ddf_fun(nic_data, fun); 410 405 ddf_fun_set_ops(fun, &ne2k_dev_ops); 411 ddf_fun_data_implant(fun, nic_data);412 406 413 407 rc = ddf_fun_bind(fun); … … 443 437 int main(int argc, char *argv[]) 444 438 { 439 printf("%s: HelenOS NE 2000 network adapter driver\n", NAME); 440 445 441 nic_driver_init(NAME); 446 442 nic_driver_implement(&ne2k_driver_ops, &ne2k_dev_ops, &ne2k_nic_iface);
Note:
See TracChangeset
for help on using the changeset viewer.