Exemplo n.º 1
0
int __init ne3210_probe(struct net_device *dev)
{
	unsigned short ioaddr = dev->base_addr;

	SET_MODULE_OWNER(dev);

	if (ioaddr > 0x1ff)		/* Check a single specified location. */
		return ne3210_probe1(dev, ioaddr);
	else if (ioaddr > 0)		/* Don't probe at all. */
		return -ENXIO;

	if (!EISA_bus) {
#if NE3210_DEBUG & NE3210_D_PROBE
		printk("ne3210-debug: Not an EISA bus. Not probing high ports.\n");
#endif
		return -ENXIO;
	}

	/* EISA spec allows for up to 16 slots, but 8 is typical. */
	for (ioaddr = 0x1000; ioaddr < 0x9000; ioaddr += 0x1000)
		if (ne3210_probe1(dev, ioaddr) == 0)
			return 0;

	return -ENODEV;
}
Exemplo n.º 2
0
__initfunc(int ne3210_probe(struct device *dev))
{
	unsigned short ioaddr = dev->base_addr;

	if (ioaddr > 0x1ff)		/* Check a single specified location. */
		return ne3210_probe1(dev, ioaddr);
	else if (ioaddr > 0)		/* Don't probe at all. */
		return ENXIO;

	if (!EISA_bus) {
#if NE3210_DEBUG & NE3210_D_PROBE
		printk("ne3210-debug: Not an EISA bus. Not probing high ports.\n");
#endif
		return ENXIO;
	}

	/* EISA spec allows for up to 16 slots, but 8 is typical. */
	for (ioaddr = 0x1000; ioaddr < 0x9000; ioaddr += 0x1000) {
		if (check_region(ioaddr , NE3210_IO_EXTENT))
			continue;
		if (ne3210_probe1(dev, ioaddr) == 0)
			return 0;
	}

	return ENODEV;
}