#if defined(CONFIG_PLAT_MAPPI2) 
#if defined(CONFIG_PLAT_MAPPI2) || defined(CONFIG_PLAT_MAPPI3) 
static int __init init_m32r_pcc(void){	int i, ret;	ret = driver_register(&pcc_driver);	if (ret)		return ret;	ret = platform_device_register(&pcc_device);	if (ret){		driver_unregister(&pcc_driver);		return ret;	}#if defined(CONFIG_PLAT_MAPPI2)	pcc_set(0, (unsigned int)PLD_CFCR0, 0x0f0f);	pcc_set(0, (unsigned int)PLD_CFCR1, 0x0200);#endif	pcc_sockets = 0;#if !defined(CONFIG_PLAT_USRV)	add_pcc_socket(M32R_PCC0_BASE, PLD_IRQ_CFC_INSERT, CFC_ATTR_MAPBASE,		       CFC_IOPORT_BASE);#else	/* CONFIG_PLAT_USRV */	{		ulong base, mapaddr;		kio_addr_t ioaddr;		for (i = 0 ; i < M32R_MAX_PCC ; i++) {			base = (ulong)PLD_CFRSTCR;			base = base | (i << 8);			ioaddr = (i + 1) << 12;			mapaddr = CFC_ATTR_MAPBASE | (i << 20);			add_pcc_socket(base, 0, mapaddr, ioaddr);		}	}#endif	/* CONFIG_PLAT_USRV */	if (pcc_sockets == 0) {		printk("socket is not found.\n");		platform_device_unregister(&pcc_device);		driver_unregister(&pcc_driver);		return -ENODEV;	}	/* Set up interrupt handler(s) */	for (i = 0 ; i < pcc_sockets ; i++) {		socket[i].socket.dev.dev = &pcc_device.dev;		socket[i].socket.ops = &pcc_operations;		socket[i].socket.resource_ops = &pccard_static_ops;		socket[i].socket.owner = THIS_MODULE;		socket[i].number = i;		ret = pcmcia_register_socket(&socket[i].socket);		if (!ret)			socket[i].flags |= IS_REGISTERED;#if 0	/* driver model ordering issue */		class_device_create_file(&socket[i].socket.dev,					 &class_device_attr_info);		class_device_create_file(&socket[i].socket.dev,					 &class_device_attr_exca);#endif	}	/* Finally, schedule a polling interrupt */	if (poll_interval != 0) {		poll_timer.function = pcc_interrupt_wrapper;		poll_timer.data = 0;		init_timer(&poll_timer);		poll_timer.expires = jiffies + poll_interval;		add_timer(&poll_timer);	}	return 0;} /* init_m32r_pcc */
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/934bb7f88eb398f62314fa63ba72ac6dcd21192a/m32r_cfc.c/buggy/drivers/pcmcia/m32r_cfc.c