Ignore:
File:
1 edited

Legend:

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

    r56fd7cf r8486c07  
    3838 */
    3939
    40 /* XXX Fix this */
    41 #define _DDF_DATA_IMPLANT
    42 
    4340#include <stdio.h>
    4441#include <errno.h>
     
    6461#define IRQ_GET_TSR(call)  ((int) IPC_GET_ARG3(call))
    6562
    66 #define DRIVER_DATA(dev) ((nic_t *) ddf_dev_data_get(dev))
     63#define DRIVER_DATA(dev) ((nic_t *) ((dev)->driver_data))
    6764#define NE2K(device) ((ne2k_t *) nic_get_specific(DRIVER_DATA(device)))
    6865
     
    172169static void ne2k_dev_cleanup(ddf_dev_t *dev)
    173170{
    174         if (ddf_dev_data_get(dev) != NULL) {
     171        if (dev->driver_data != NULL) {
    175172                ne2k_t *ne2k = NE2K(dev);
    176173                if (ne2k) {
     
    180177                nic_unbind_and_destroy(dev);
    181178        }
     179        if (dev->parent_sess != NULL) {
     180                async_hangup(dev->parent_sess);
     181                dev->parent_sess = NULL;
     182        }
    182183}
    183184
     
    278279static int ne2k_set_address(ddf_fun_t *fun, const nic_address_t *address)
    279280{
    280         nic_t *nic_data = DRIVER_DATA(ddf_fun_get_dev(fun));
     281        nic_t *nic_data = DRIVER_DATA(fun);
    281282        int rc = nic_report_address(nic_data, address);
    282283        if (rc != EOK) {
     
    409410        }
    410411        nic_set_ddf_fun(nic_data, fun);
    411         ddf_fun_set_ops(fun, &ne2k_dev_ops);
    412         ddf_fun_data_implant(fun, nic_data);
     412        fun->ops = &ne2k_dev_ops;
     413        fun->driver_data = nic_data;
    413414       
    414415        rc = ddf_fun_bind(fun);
Note: See TracChangeset for help on using the changeset viewer.