if_ep.c (50026) | if_ep.c (50084) |
---|---|
1/* 2 * Copyright (c) 1994 Herb Peyerl <hpeyerl@novatel.ca> 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 24 unchanged lines hidden (view full) --- 33/* 34 * Modified from the FreeBSD 1.1.5.1 version by: 35 * Andres Vega Garcia 36 * INRIA - Sophia Antipolis, France 37 * avega@sophia.inria.fr 38 */ 39 40/* | 1/* 2 * Copyright (c) 1994 Herb Peyerl <hpeyerl@novatel.ca> 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 24 unchanged lines hidden (view full) --- 33/* 34 * Modified from the FreeBSD 1.1.5.1 version by: 35 * Andres Vega Garcia 36 * INRIA - Sophia Antipolis, France 37 * avega@sophia.inria.fr 38 */ 39 40/* |
41 * $Id: if_ep.c,v 1.82 1999/08/18 06:11:58 mdodd Exp $ | 41 * $Id: if_ep.c,v 1.83 1999/08/18 22:14:20 mdodd Exp $ |
42 * 43 * Promiscuous mode added and interrupt logic slightly changed 44 * to reduce the number of adapter failures. Transceiver select 45 * logic changed to use value from EEPROM. Autoconfiguration 46 * features added. 47 * Done by: 48 * Serge Babkin 49 * Chelindbank (Chelyabinsk, Russia) --- 57 unchanged lines hidden (view full) --- 107 108static int eeprom_rdy __P((struct ep_softc *sc)); 109 110static int ep_isa_probe __P((struct isa_device *)); 111static struct ep_board * ep_look_for_board_at __P((struct isa_device *is)); 112static int ep_isa_attach __P((struct isa_device *)); 113static int epioctl __P((struct ifnet * ifp, u_long, caddr_t)); 114 | 42 * 43 * Promiscuous mode added and interrupt logic slightly changed 44 * to reduce the number of adapter failures. Transceiver select 45 * logic changed to use value from EEPROM. Autoconfiguration 46 * features added. 47 * Done by: 48 * Serge Babkin 49 * Chelindbank (Chelyabinsk, Russia) --- 57 unchanged lines hidden (view full) --- 107 108static int eeprom_rdy __P((struct ep_softc *sc)); 109 110static int ep_isa_probe __P((struct isa_device *)); 111static struct ep_board * ep_look_for_board_at __P((struct isa_device *is)); 112static int ep_isa_attach __P((struct isa_device *)); 113static int epioctl __P((struct ifnet * ifp, u_long, caddr_t)); 114 |
115static void epinit __P((struct ep_softc *)); | 115static void epinit __P((void *)); |
116static ointhand2_t epintr; 117static void epread __P((struct ep_softc *)); 118void epreset __P((int)); 119static void epstart __P((struct ifnet *)); 120static void epstop __P((struct ep_softc *)); 121static void epwatchdog __P((struct ifnet *)); 122 123#if 0 --- 507 unchanged lines hidden (view full) --- 631 ifp->if_unit = sc->unit; 632 ifp->if_name = "ep"; 633 ifp->if_mtu = ETHERMTU; 634 ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; 635 ifp->if_output = ether_output; 636 ifp->if_start = epstart; 637 ifp->if_ioctl = epioctl; 638 ifp->if_watchdog = epwatchdog; | 116static ointhand2_t epintr; 117static void epread __P((struct ep_softc *)); 118void epreset __P((int)); 119static void epstart __P((struct ifnet *)); 120static void epstop __P((struct ep_softc *)); 121static void epwatchdog __P((struct ifnet *)); 122 123#if 0 --- 507 unchanged lines hidden (view full) --- 631 ifp->if_unit = sc->unit; 632 ifp->if_name = "ep"; 633 ifp->if_mtu = ETHERMTU; 634 ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; 635 ifp->if_output = ether_output; 636 ifp->if_start = epstart; 637 ifp->if_ioctl = epioctl; 638 ifp->if_watchdog = epwatchdog; |
639 ifp->if_init = epinit; |
|
639 640 if (!attached) { 641 if_attach(ifp); 642 ether_ifattach(ifp); 643 } 644 645#ifdef EP_LOCAL_STATS 646 sc->rx_no_first = sc->rx_no_mbuf = --- 12 unchanged lines hidden (view full) --- 659} 660 661 662/* 663 * The order in here seems important. Otherwise we may not receive 664 * interrupts. ?! 665 */ 666static void | 640 641 if (!attached) { 642 if_attach(ifp); 643 ether_ifattach(ifp); 644 } 645 646#ifdef EP_LOCAL_STATS 647 sc->rx_no_first = sc->rx_no_mbuf = --- 12 unchanged lines hidden (view full) --- 660} 661 662 663/* 664 * The order in here seems important. Otherwise we may not receive 665 * interrupts. ?! 666 */ 667static void |
667epinit(sc) 668 struct ep_softc *sc; | 668epinit(xsc) 669 void *xsc; |
669{ | 670{ |
671 struct ep_softc *sc = xsc; |
|
670 register struct ifnet *ifp = &sc->arpcom.ac_if; 671 int s, i, j; 672 673 if (sc->gone) 674 return; 675 676 /* 677 if (ifp->if_addrlist == (struct ifaddr *) 0) --- 682 unchanged lines hidden --- | 672 register struct ifnet *ifp = &sc->arpcom.ac_if; 673 int s, i, j; 674 675 if (sc->gone) 676 return; 677 678 /* 679 if (ifp->if_addrlist == (struct ifaddr *) 0) --- 682 unchanged lines hidden --- |