The onboard LANCE of I/O ASIC systems is not a TURBOchannel device, at least from the software point of view. Therefore it does not rely on any kernel TURBOchannel bus services and can be supported even if support for TURBOchannel has not been enabled in the configuration. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> --- Tested with the onboard LANCE of a DECstation 5000/133. Please apply. Maciej patch-mips-2.6.18-20060920-declance-tc-0 diff -up --recursive --new-file linux-mips-2.6.18-20060920.macro/drivers/net/declance.c linux-mips-2.6.18-20060920/drivers/net/declance.c --- linux-mips-2.6.18-20060920.macro/drivers/net/declance.c 2006-11-23 02:55:34.000000000 +0000 +++ linux-mips-2.6.18-20060920/drivers/net/declance.c 2006-11-30 02:31:19.000000000 +0000 @@ -1068,7 +1068,6 @@ static int __init dec_lance_init(const i lp->type = type; lp->slot = slot; switch (type) { -#ifdef CONFIG_TC case ASIC_LANCE: dev->base_addr = CKSEG1ADDR(dec_kn_slot_base + IOASIC_LANCE); @@ -1112,7 +1111,7 @@ static int __init dec_lance_init(const i CPHYSADDR(dev->mem_start) << 3); break; - +#ifdef CONFIG_TC case PMAD_LANCE: claim_tc_card(slot); @@ -1143,7 +1142,6 @@ static int __init dec_lance_init(const i break; #endif - case PMAX_LANCE: dev->irq = dec_interrupt[DEC_IRQ_LANCE]; dev->base_addr = CKSEG1ADDR(KN01_SLOT_BASE + KN01_LANCE); @@ -1298,10 +1296,8 @@ static int __init dec_lance_probe(void) /* Then handle onboard devices. */ if (dec_interrupt[DEC_IRQ_LANCE] >= 0) { if (dec_interrupt[DEC_IRQ_LANCE_MERR] >= 0) { -#ifdef CONFIG_TC if (dec_lance_init(ASIC_LANCE, -1) >= 0) count++; -#endif } else if (!TURBOCHANNEL) { if (dec_lance_init(PMAX_LANCE, -1) >= 0) count++;