Date: Tue, 7 Apr 2009 08:10:16 GMT From: Marko Zec <zec@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 160313 for review Message-ID: <200904070810.n378AG9m060305@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=160313 Change 160313 by zec@zec_amdx2 on 2009/04/07 08:09:21 Unnecessary IFC @ 160308. Pointy hat on for not looking at julian's commits a few hours ago... Affected files ... .. //depot/projects/vimage-commit2/src/sys/dev/ed/if_ed.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ed/if_ed_cbus.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ed/if_ed_isa.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ed/if_ed_pci.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ed/if_edvar.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/firewire/firewire.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/dev/firewire/sbp.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/pccard/pccarddevs#8 integrate Differences ... ==== //depot/projects/vimage-commit2/src/sys/dev/ed/if_ed.c#4 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/ed/if_ed.c,v 1.277 2009/03/30 17:25:56 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ed/if_ed.c,v 1.278 2009/04/07 05:41:38 imp Exp $"); /* * Device driver for National Semiconductor DS8390/WD83C690 based ethernet @@ -1739,3 +1739,38 @@ } return (len); } + +/* + * Generic ifmedia support. By default, the DP8390-based cards don't know + * what their network attachment really is, or even if it is valid (except + * upon successful transmission of a packet). To play nicer with dhclient, as + * well as to fit in with a framework where some cards can provde more + * detailed information, make sure that we use this as a fallback. + */ +static int +ed_gen_ifmedia_ioctl(struct ed_softc *sc, struct ifreq *ifr, u_long command) +{ + return (ifmedia_ioctl(sc->ifp, ifr, &sc->ifmedia, command)); +} + +static int +ed_gen_ifmedia_upd(struct ifnet *ifp) +{ + return 0; +} + +static void +ed_gen_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) +{ + ifmr->ifm_active = IFM_ETHER | IFM_AUTO; + ifmr->ifm_status = IFM_AVALID | IFM_ACTIVE; +} + +void +ed_gen_ifmedia_init(struct ed_softc *sc) +{ + sc->sc_media_ioctl = &ed_gen_ifmedia_ioctl; + ifmedia_init(&sc->ifmedia, 0, ed_gen_ifmedia_upd, ed_gen_ifmedia_sts); + ifmedia_add(&sc->ifmedia, IFM_ETHER | IFM_AUTO, 0, 0); + ifmedia_set(&sc->ifmedia, IFM_ETHER | IFM_AUTO); +} ==== //depot/projects/vimage-commit2/src/sys/dev/ed/if_ed_cbus.c#2 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/ed/if_ed_cbus.c,v 1.28 2007/02/23 12:18:38 piso Exp $ + * $FreeBSD: src/sys/dev/ed/if_ed_cbus.c,v 1.29 2009/04/07 05:41:38 imp Exp $ */ #include <sys/param.h> @@ -248,7 +248,8 @@ ed_release_resources(dev); return (error); } - + if (sc->sc_media_ioctl == NULL) + ed_gen_ifmedia_init(sc); return ed_attach(dev); } ==== //depot/projects/vimage-commit2/src/sys/dev/ed/if_ed_isa.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/ed/if_ed_isa.c,v 1.31 2007/02/23 12:18:38 piso Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ed/if_ed_isa.c,v 1.32 2009/04/07 05:41:38 imp Exp $"); #include "opt_ed.h" @@ -175,7 +175,8 @@ ed_release_resources(dev); return (error); } - + if (sc->sc_media_ioctl == NULL) + ed_gen_ifmedia_init(sc); return ed_attach(dev); } ==== //depot/projects/vimage-commit2/src/sys/dev/ed/if_ed_pci.c#2 (text+ko) ==== @@ -18,7 +18,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/ed/if_ed_pci.c,v 1.50 2007/12/31 03:29:02 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ed/if_ed_pci.c,v 1.51 2009/04/07 05:41:38 imp Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -91,11 +91,9 @@ int error = ENXIO; /* - * If this card claims to be a RTL8029, probe it as such. - * However, allow that probe to fail. Some versions of qemu - * claim to be a 8029 in the PCI register, but it doesn't - * implement the 8029 specific registers. In that case, fall - * back to a normal NE2000. + * Probe RTL8029 cards, but allow failure and try as a generic + * ne-2000. QEMU 0.9 and earlier use the RTL8029 PCI ID, but + * are areally just generic ne-2000 cards. */ if (pci_get_devid(dev) == ED_RTL8029_PCI_ID) error = ed_probe_RTL80x9(dev, PCIR_BAR(0), flags); @@ -118,7 +116,8 @@ ed_release_resources(dev); return (error); } - + if (sc->sc_media_ioctl == NULL) + ed_gen_ifmedia_init(sc); error = ed_attach(dev); if (error) ed_release_resources(dev); ==== //depot/projects/vimage-commit2/src/sys/dev/ed/if_edvar.h#4 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/ed/if_edvar.h,v 1.44 2009/04/02 19:27:56 imp Exp $ + * $FreeBSD: src/sys/dev/ed/if_edvar.h,v 1.45 2009/04/07 05:41:38 imp Exp $ */ #ifndef SYS_DEV_ED_IF_EDVAR_H @@ -226,6 +226,8 @@ void ed_disable_16bit_access(struct ed_softc *); void ed_enable_16bit_access(struct ed_softc *); +void ed_gen_ifmedia_init(struct ed_softc *); + driver_intr_t edintr; extern devclass_t ed_devclass; ==== //depot/projects/vimage-commit2/src/sys/dev/firewire/firewire.c#11 (text+ko) ==== @@ -31,7 +31,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/firewire/firewire.c,v 1.109 2009/03/17 13:07:11 sbruno Exp $ + * $FreeBSD: src/sys/dev/firewire/firewire.c,v 1.110 2009/04/07 02:33:46 sbruno Exp $ * */ @@ -1641,7 +1641,11 @@ break; } - /* inesrt into sorted fwdev list */ + + /* + * If the fwdev is not found in the + * fc->devices TAILQ, then we will add it. + */ pfwdev = NULL; STAILQ_FOREACH(tfwdev, &fc->devices, link) { if (tfwdev->eui.hi > fwdev->eui.hi || ==== //depot/projects/vimage-commit2/src/sys/dev/firewire/sbp.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/firewire/sbp.h,v 1.5 2005/01/06 01:42:41 imp Exp $ + * $FreeBSD: src/sys/dev/firewire/sbp.h,v 1.6 2009/04/07 02:33:46 sbruno Exp $ * */ @@ -121,7 +121,7 @@ /* 3: Page size not supported */ /* 4: Access denied */ #define STATUS_ACCESS_DENY 4 -/* 5: Logical unit not supported */ +#define STATUS_LUR 5 /* 6: Maximum payload too small */ /* 7: Reserved for future standardization */ /* 8: Resource unavailabe */ ==== //depot/projects/vimage-commit2/src/sys/dev/pccard/pccarddevs#8 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/sys/dev/pccard/pccarddevs,v 1.142 2009/03/27 20:40:17 imp Exp $ +$FreeBSD: src/sys/dev/pccard/pccarddevs,v 1.143 2009/04/07 05:57:56 imp Exp $ /* $NetBSD: pcmciadevs,v 1.226 2008/06/19 18:20:33 imp Exp $ */ /* $OpenBSD: pcmciadevs,v 1.93 2002/06/21 08:31:10 henning Exp $ */ @@ -344,6 +344,7 @@ product GEMPLUS GPR400 0x3004 GPR400 Smartcard Reader /* GlobalVillage */ +product GLOBALVILLAGE POWERPORT 0x0103 GlobalVillage PowerPort PlatinumPro product GLOBALVILLAGE LANMODEM 0x0105 GlobalVillage Ethernet + Modem /* Grey Cell Systems, Ltd */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200904070810.n378AG9m060305>