if (check_region(i365_base, 2) != 0) { 
if (!request_region(i365_base, 2, "i82365")) { 
static void __init isa_probe(void){    int i, j, sock, k, ns, id;    kio_addr_t port;#ifdef CONFIG_PNP    struct isapnp_device_id *devid;    struct pnp_dev *dev;    for (devid = id_table; devid->vendor; devid++) {	if ((dev = pnp_find_dev(NULL, devid->vendor, devid->function, NULL))) {		    if (pnp_device_attach(dev) < 0)	    	continue;	    if (pnp_activate_dev(dev) < 0) {		printk("activate failed\n");		pnp_device_detach(dev);		break;	    }	    if (!pnp_port_valid(dev, 0)) {		printk("invalid resources ?\n");		pnp_device_detach(dev);		break;	    }	    i365_base = pnp_port_start(dev, 0);	    i82365_pnpdev = dev;	    break;	}    }#endif    if (check_region(i365_base, 2) != 0) {	if (sockets == 0)	    printk("port conflict at %#lx\n", i365_base);	return;    }    id = identify(i365_base, 0);    if ((id == IS_I82365DF) && (identify(i365_base, 1) != id)) {	for (i = 0; i < 4; i++) {	    if (i == ignore) continue;	    port = i365_base + ((i & 1) << 2) + ((i & 2) << 1);	    sock = (i & 1) << 1;	    if (identify(port, sock) == IS_I82365DF) {		add_socket(port, sock, IS_VLSI);		add_pcic(1, IS_VLSI);	    }	}    } else {	for (i = 0; i < 8; i += 2) {	    if (sockets && !extra_sockets && (i == 4))		break;	    port = i365_base + 2*(i>>2);	    sock = (i & 3);	    id = identify(port, sock);	    if (id < 0) continue;	    for (j = ns = 0; j < 2; j++) {		/* Does the socket exist? */		if ((ignore == i+j) || (identify(port, sock+j) < 0))		    continue;		/* Check for bad socket decode */		for (k = 0; k <= sockets; k++)		    i365_set(k, I365_MEM(0)+I365_W_OFF, k);		for (k = 0; k <= sockets; k++)		    if (i365_get(k, I365_MEM(0)+I365_W_OFF) != k)			break;		if (k <= sockets) break;		add_socket(port, sock+j, id); ns++;	    }	    if (ns != 0) add_pcic(ns, id);	}    }}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/f354942cb301fed273f423fb5c4f57bde3efc5b2/i82365.c/clean/drivers/pcmcia/i82365.c