[PATCH] declance: Support the I/O ASIC LANCE w/o TURBOchannel

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.

Tested with the onboard LANCE of a DECstation 5000/133.

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
Maciej W. Rozycki 2006-12-04 15:04:55 -08:00 committed by Jeff Garzik
parent 3b6e8fe7ec
commit e8f7f7f11d

View file

@ -1065,7 +1065,6 @@ static int __init dec_lance_init(const int type, const int slot)
lp->type = type; lp->type = type;
lp->slot = slot; lp->slot = slot;
switch (type) { switch (type) {
#ifdef CONFIG_TC
case ASIC_LANCE: case ASIC_LANCE:
dev->base_addr = CKSEG1ADDR(dec_kn_slot_base + IOASIC_LANCE); dev->base_addr = CKSEG1ADDR(dec_kn_slot_base + IOASIC_LANCE);
@ -1109,7 +1108,7 @@ static int __init dec_lance_init(const int type, const int slot)
CPHYSADDR(dev->mem_start) << 3); CPHYSADDR(dev->mem_start) << 3);
break; break;
#ifdef CONFIG_TC
case PMAD_LANCE: case PMAD_LANCE:
claim_tc_card(slot); claim_tc_card(slot);
@ -1140,7 +1139,6 @@ static int __init dec_lance_init(const int type, const int slot)
break; break;
#endif #endif
case PMAX_LANCE: case PMAX_LANCE:
dev->irq = dec_interrupt[DEC_IRQ_LANCE]; dev->irq = dec_interrupt[DEC_IRQ_LANCE];
dev->base_addr = CKSEG1ADDR(KN01_SLOT_BASE + KN01_LANCE); dev->base_addr = CKSEG1ADDR(KN01_SLOT_BASE + KN01_LANCE);
@ -1295,10 +1293,8 @@ static int __init dec_lance_probe(void)
/* Then handle onboard devices. */ /* Then handle onboard devices. */
if (dec_interrupt[DEC_IRQ_LANCE] >= 0) { if (dec_interrupt[DEC_IRQ_LANCE] >= 0) {
if (dec_interrupt[DEC_IRQ_LANCE_MERR] >= 0) { if (dec_interrupt[DEC_IRQ_LANCE_MERR] >= 0) {
#ifdef CONFIG_TC
if (dec_lance_init(ASIC_LANCE, -1) >= 0) if (dec_lance_init(ASIC_LANCE, -1) >= 0)
count++; count++;
#endif
} else if (!TURBOCHANNEL) { } else if (!TURBOCHANNEL) {
if (dec_lance_init(PMAX_LANCE, -1) >= 0) if (dec_lance_init(PMAX_LANCE, -1) >= 0)
count++; count++;