Changeset d51838f in mainline for uspace/drv/nic/ne2k


Ignore:
Timestamp:
2017-10-14T22:49:18Z (8 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
75911d24
Parents:
ce732e74
Message:

Let leaf drivers enable/disable/clear interrupts via hw_res instead of directly using irc.

Location:
uspace/drv/nic/ne2k
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/nic/ne2k/dp8390.h

    rce732e74 rd51838f  
    5050#define __NET_NETIF_DP8390_H__
    5151
     52#include <async.h>
     53#include <ddf/driver.h>
    5254#include <fibril_synch.h>
    5355#include <nic.h>
     
    223225
    224226typedef struct {
     227        /** DDF device */
     228        ddf_dev_t *dev;
     229        /** Parent session */
     230        async_sess_t *parent_sess;
    225231        /* Device configuration */
    226232        void *base_port; /**< Port assigned from ISA configuration **/
  • uspace/drv/nic/ne2k/ne2k.c

    rce732e74 rd51838f  
    4040#include <stdio.h>
    4141#include <errno.h>
    42 #include <irc.h>
     42#include <device/hw_res.h>
    4343#include <stdlib.h>
    4444#include <str_error.h>
     
    256256                        return rc;
    257257
    258                 rc = irc_enable_interrupt(ne2k->irq);
     258                rc = hw_res_enable_interrupt(ne2k->parent_sess, ne2k->irq);
    259259                if (rc != EOK) {
    260260                        ne2k_down(ne2k);
     
    269269        ne2k_t *ne2k = (ne2k_t *) nic_get_specific(nic_data);
    270270
    271         (void) irc_disable_interrupt(ne2k->irq);
     271        (void) hw_res_disable_interrupt(ne2k->parent_sess, ne2k->irq);
    272272        ne2k->receive_configuration = RCR_AB | RCR_AM;
    273273        ne2k_down(ne2k);
     
    384384        }
    385385       
     386        ne2k->dev = dev;
     387        ne2k->parent_sess = ddf_dev_parent_sess_get(dev);
     388        if (ne2k->parent_sess == NULL) {
     389                ne2k_dev_cleanup(dev);
     390                return ENOMEM;
     391        }
     392       
    386393        int rc = ne2k_dev_init(nic_data);
    387394        if (rc != EOK) {
Note: See TracChangeset for help on using the changeset viewer.