Changeset 869d936 in mainline for uspace/drv


Ignore:
Timestamp:
2014-07-18T08:11:34Z (11 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
e5424e9
Parents:
fc6abbe
Message:

libnic slices, dices, cooks cofee and enables interrupts.

Location:
uspace/drv/nic
Files:
3 edited

Legend:

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

    rfc6abbe r869d936  
    4242#include <align.h>
    4343#include <byteorder.h>
    44 #include <sysinfo.h>
    45 #include <ipc/irc.h>
    46 #include <ipc/ns.h>
     44#include <irc.h>
     45#include <as.h>
    4746#include <ddi.h>
    48 #include <as.h>
    4947#include <ddf/log.h>
    5048#include <ddf/interrupt.h>
     
    17581756        e1000_enable_interrupts(e1000);
    17591757       
    1760         nic_enable_interrupt(nic, e1000->irq);
     1758        irc_enable_interrupt(e1000->irq);
    17611759       
    17621760        e1000_clear_rx_ring(e1000);
     
    17961794        e1000_disable_rx(e1000);
    17971795       
    1798         nic_disable_interrupt(nic, e1000->irq);
     1796        irc_disable_interrupt(e1000->irq);
    17991797        e1000_disable_interrupts(e1000);
    18001798       
     
    21532151        if (rc != EOK)
    21542152                goto err_fun_create;
    2155        
    2156         rc = nic_connect_to_services(nic);
    2157         if (rc != EOK)
    2158                 goto err_irq;
    21592153       
    21602154        rc = e1000_initialize_rx_structure(nic);
     
    23792373int main(void)
    23802374{
    2381         int rc = nic_driver_init(NAME);
    2382         if (rc != EOK)
    2383                 return rc;
     2375        printf("%s: HelenOS E1000 network adapter driver\n", NAME);
     2376       
     2377        if (irc_init() != EOK) {
     2378                printf("%s: Failed connecting IRC service\n", NAME);
     2379                return 1;
     2380        }
     2381       
     2382        if (nic_driver_init(NAME) != EOK)
     2383                return 1;
    23842384       
    23852385        nic_driver_implement(&e1000_driver_ops, &e1000_dev_ops,
     
    23872387       
    23882388        ddf_log_init(NAME);
    2389         ddf_msg(LVL_NOTE, "HelenOS E1000 driver started");
    23902389        return ddf_driver_main(&e1000_driver);
    23912390}
  • uspace/drv/nic/ne2k/ne2k.c

    rfc6abbe r869d936  
    4343#include <stdio.h>
    4444#include <errno.h>
     45#include <irc.h>
    4546#include <stdlib.h>
    4647#include <str_error.h>
     
    260261                }
    261262
    262                 nic_enable_interrupt(nic_data, ne2k->irq);
     263                irc_enable_interrupt(ne2k->irq);
    263264        }
    264265        return EOK;
     
    269270        ne2k_t *ne2k = (ne2k_t *) nic_get_specific(nic_data);
    270271
    271         nic_disable_interrupt(nic_data, ne2k->irq);
     272        irc_disable_interrupt(ne2k->irq);
    272273        ne2k->receive_configuration = RCR_AB | RCR_AM;
    273274        ne2k_down(ne2k);
     
    396397        }
    397398       
    398         rc = nic_connect_to_services(nic_data);
    399         if (rc != EOK) {
    400                 ne2k_dev_cleanup(dev);
    401                 return rc;
    402         }
    403        
    404399        fun = ddf_fun_create(nic_get_ddf_dev(nic_data), fun_exposed, "port0");
    405400        if (fun == NULL) {
     
    443438int main(int argc, char *argv[])
    444439{
     440        printf("%s: HelenOS NE 2000 network adapter driver\n", NAME);
     441       
     442        if (irc_init() != EOK) {
     443                printf("%s: Failed connecting IRC service\n", NAME);
     444                return 1;
     445        }
     446       
    445447        nic_driver_init(NAME);
    446448        nic_driver_implement(&ne2k_driver_ops, &ne2k_dev_ops, &ne2k_nic_iface);
  • uspace/drv/nic/rtl8139/driver.c

    rfc6abbe r869d936  
    3535#include <byteorder.h>
    3636#include <libarch/barrier.h>
    37 
    3837#include <as.h>
    3938#include <ddf/log.h>
     
    4241#include <nic.h>
    4342#include <pci_dev_iface.h>
    44 
    45 #include <ipc/irc.h>
    46 #include <sysinfo.h>
    47 #include <ipc/ns.h>
    48 
     43#include <irc.h>
     44#include <stdio.h>
    4945#include <str.h>
    5046
     
    960956        rtl8139->int_mask = RTL_DEFAULT_INTERRUPTS;
    961957        rtl8139_hw_int_enable(rtl8139);
    962         nic_enable_interrupt(nic_data, rtl8139->irq);
     958        irc_enable_interrupt(rtl8139->irq);
    963959
    964960        ddf_msg(LVL_DEBUG, "Device activated, interrupt %d registered", rtl8139->irq);
     
    13251321                goto err_pio;
    13261322
    1327         rc = nic_connect_to_services(nic_data);
    1328         if (rc != EOK) {
    1329                 ddf_msg(LVL_ERROR, "Failed to connect to services (%d)", rc);
    1330                 goto err_irq;
    1331         }
    1332 
    13331323        fun = ddf_fun_create(nic_get_ddf_dev(nic_data), fun_exposed, "port0");
    13341324        if (fun == NULL) {
     
    13611351        ddf_fun_destroy(fun);
    13621352err_srv:
    1363         /* XXX Disconnect from services */
    1364 err_irq:
    13651353        unregister_interrupt_handler(dev, rtl8139->irq);
    13661354err_pio:
     
    21802168int main(void)
    21812169{
     2170        printf("%s: HelenOS RTL8139 network adapter driver\n", NAME);
     2171
     2172        if (irc_init() != EOK) {
     2173                printf("%s: Failed connecting IRC service\n", NAME);
     2174                return 1;
     2175        }
     2176
    21822177        int rc = nic_driver_init(NAME);
    21832178        if (rc != EOK)
    21842179                return rc;
    2185         nic_driver_implement(
    2186                 &rtl8139_driver_ops, &rtl8139_dev_ops, &rtl8139_nic_iface);
     2180
     2181        nic_driver_implement(&rtl8139_driver_ops, &rtl8139_dev_ops,
     2182            &rtl8139_nic_iface);
    21872183
    21882184        ddf_log_init(NAME);
    2189         ddf_msg(LVL_NOTE, "HelenOS RTL8139 driver started");
    21902185        return ddf_driver_main(&rtl8139_driver);
    21912186}
Note: See TracChangeset for help on using the changeset viewer.