a7cde9673c
due to the fact that there are non-MII cards supported by the same driver and I don't have all of the cards available for testing. There's also the 3c905B-COMBO which has MII, AUI and BNC media ports all in one package. Supporting the COMBO is difficult because we have to add the 10base5 and 10base2 media types to the same ifmedia struct as the MII-attached types, however there is no way to force the miibus and child PHYs into existence before xl_attach() completes, so there is no ifmedia struct available in xl_attach(). What we do inistead is use the mediainit method as a callback: when a child PHY is attached, it calls the miibus mediainit routine which selects a default media. This routing also calls the NIC driver's mediainit method (if it implements one) at which point we can safely add the other media types.
34 lines
802 B
Makefile
34 lines
802 B
Makefile
# $FreeBSD$
|
|
|
|
S = ${.CURDIR}/../..
|
|
.PATH: $S/pci
|
|
KMOD = xl
|
|
SRCS = if_xl.c xl.h bpf.h opt_bdg.h device_if.h bus_if.h pci_if.h
|
|
SRCS += miibus_if.h
|
|
CLEANFILES += xl.h bpf.h opt_bdg.h device_if.h bus_if.h pci_if.h
|
|
CLEANFILES += miibus_if.h
|
|
CFLAGS += ${DEBUG_FLAGS}
|
|
|
|
xl.h:
|
|
echo "#define NXL 1" > xl.h
|
|
|
|
bpf.h:
|
|
echo "#define NBPF 1" > bpf.h
|
|
|
|
opt_bdg.h:
|
|
touch opt_bdg.h
|
|
|
|
device_if.h: $S/kern/makedevops.pl $S/kern/device_if.m
|
|
perl $S/kern/makedevops.pl -h $S/kern/device_if.m
|
|
|
|
bus_if.h: $S/kern/makedevops.pl $S/kern/bus_if.m
|
|
perl $S/kern/makedevops.pl -h $S/kern/bus_if.m
|
|
|
|
pci_if.h: $S/kern/makedevops.pl $S/pci/pci_if.m
|
|
perl $S/kern/makedevops.pl -h $S/pci/pci_if.m
|
|
|
|
miibus_if.h: $S/kern/makedevops.pl $S/dev/mii/miibus_if.m
|
|
perl $S/kern/makedevops.pl -h $S/dev/mii/miibus_if.m
|
|
|
|
.include <bsd.kmod.mk>
|