Remove rge driver from Broadcom XLR

nlge(4) is supposed to deprecate rge(4) for Broadcom XLR when it was
introduced 5 years ago.

rge doesn't build on -CURRENT due to MII changes. All the XLR kernel confs
use nlge. Let's get rid of the old driver for FreeBSD 11. We can use
10-STABLE or SVN to go back and look at the old driver if needed.

Differential Revision:	https://reviews.freebsd.org/D3339
Submitted by:	kevin.bowling@kev009.com
This commit is contained in:
sbruno 2015-09-04 19:57:28 +00:00
parent 349ab0fdc2
commit 7732e2ecb4
5 changed files with 8 additions and 3716 deletions

View File

@ -1154,7 +1154,7 @@ nlna_config_pde(struct nlna_softc *sc)
cpumask = 0x1;
#ifdef SMP
/*
* rge may be called before SMP start in a BOOTP/NFSROOT
* nlna may be called before SMP start in a BOOTP/NFSROOT
* setup. we will distribute packets to other cpus only when
* the SMP is started.
*/

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -11,8 +11,8 @@ mips/rmi/fmn.c standard
mips/rmi/intr_machdep.c standard
mips/rmi/mpwait.S optional smp
mips/rmi/xlr_i2c.c optional iic
mips/rmi/uart_bus_xlr_iodi.c optional uart
mips/rmi/uart_cpu_mips_xlr.c optional uart
mips/rmi/uart_bus_xlr_iodi.c optional uart
mips/rmi/uart_cpu_mips_xlr.c optional uart
mips/rmi/xlr_pci.c optional pci
mips/rmi/xlr_pcmcia.c optional ata
mips/rmi/xls_ehci.c optional usb ehci
@ -20,7 +20,6 @@ mips/rmi/bus_space_rmi.c standard
mips/rmi/bus_space_rmi_pci.c standard
mips/rmi/dev/sec/rmisec.c optional rmisec
mips/rmi/dev/sec/rmilib.c optional rmisec
mips/rmi/dev/xlr/rge.c optional rge
mips/rmi/dev/nlge/if_nlge.c optional nlge
mips/rmi/dev/iic/max6657.c optional max6657
mips/rmi/dev/iic/at24co2n.c optional at24co2n
mips/rmi/dev/iic/max6657.c optional max6657
mips/rmi/dev/iic/at24co2n.c optional at24co2n

View File

@ -104,12 +104,12 @@ iodi_setup_intr(device_t dev, device_t child,
cpu_establish_hardintr("uart", filt, intr, arg,
PIC_UART_0_IRQ, flags, cookiep);
pic_setup_intr(PIC_IRT_UART_0_INDEX, PIC_UART_0_IRQ, 0x1, 1);
} else if (strcmp(name, "rge") == 0 || strcmp(name, "nlge") == 0) {
} else if (strcmp(name, "nlge") == 0) {
int irq;
/* This is a hack to pass in the irq */
irq = (intptr_t)ires->__r_i;
cpu_establish_hardintr("rge", filt, intr, arg, irq, flags,
cpu_establish_hardintr("nlge", filt, intr, arg, irq, flags,
cookiep);
pic_setup_intr(irq - PIC_IRQ_BASE, irq, 0x1, 1);
} else if (strcmp(name, "ehci") == 0) {
@ -224,58 +224,13 @@ iodi_attach(device_t dev)
if (xlr_board_info.ata)
device_add_child(dev, "ata", 0);
if (xlr_board_info.gmac_block[0].enabled) {
tmpd = device_add_child(dev, "rge", 0);
device_set_ivars(tmpd, &xlr_board_info.gmac_block[0]);
tmpd = device_add_child(dev, "rge", 1);
device_set_ivars(tmpd, &xlr_board_info.gmac_block[0]);
tmpd = device_add_child(dev, "rge", 2);
device_set_ivars(tmpd, &xlr_board_info.gmac_block[0]);
tmpd = device_add_child(dev, "rge", 3);
device_set_ivars(tmpd, &xlr_board_info.gmac_block[0]);
}
if (xlr_board_info.gmac_block[1].enabled) {
if (xlr_board_info.gmac_block[1].type == XLR_GMAC) {
tmpd = device_add_child(dev, "rge", 4);
device_set_ivars(tmpd, &xlr_board_info.gmac_block[1]);
tmpd = device_add_child(dev, "rge", 5);
device_set_ivars(tmpd, &xlr_board_info.gmac_block[1]);
if (xlr_board_info.gmac_block[1].enabled & 0x4) {
tmpd = device_add_child(dev, "rge", 6);
device_set_ivars(tmpd, &xlr_board_info.gmac_block[1]);
}
if (xlr_board_info.gmac_block[1].enabled & 0x8) {
tmpd = device_add_child(dev, "rge", 7);
device_set_ivars(tmpd, &xlr_board_info.gmac_block[1]);
}
} else if (xlr_board_info.gmac_block[1].type == XLR_XGMAC) {
#if 0 /* XGMAC not yet */
tmpd = device_add_child(dev, "rge", 4);
device_set_ivars(tmpd, &xlr_board_info.gmac_block[1]);
tmpd = device_add_child(dev, "rge", 5);
device_set_ivars(tmpd, &xlr_board_info.gmac_block[1]);
#endif
} else
device_printf(dev, "Unknown type of gmac 1\n");
}
/* This is to add the new GMAC driver. The above adds the old driver,
which has been retained for now as the new driver is stabilized.
The new driver is enabled with "option nlge". Make sure that only
one of rge or nlge is enabled in the conf file. */
for (i = 0; i < 3; i++) {
if (xlr_board_info.gmac_block[i].enabled == 0)
continue;
tmpd = device_add_child(dev, "nlna", i);
device_set_ivars(tmpd, &xlr_board_info.gmac_block[i]);
}
bus_generic_probe(dev);
bus_generic_attach(dev);
return 0;