/* find irq, save power and turn off SSP port clock */ switch (dev->port) { #if defined (CONFIG_PXA27x) case 1: irq = IRQ_SSP; pxa_set_cken(CKEN23_SSP1, 0); break; case 2: irq = IRQ_SSP2; pxa_set_cken(CKEN3_SSP2, 0); break; case 3: irq = IRQ_SSP3; pxa_set_cken(CKEN4_SSP3, 0); break; #else case 1: irq = IRQ_SSP; pxa_set_cken(CKEN3_SSP, 0); break; case 2: irq = IRQ_NSSP; pxa_set_cken(CKEN9_NSSP, 0); break; case 3: irq = IRQ_ASSP; pxa_set_cken(CKEN10_ASSP, 0); break; #endif default: printk(KERN_WARNING "SSP: tried to close invalid port\n"); return; 
if (dev->port > PXA_SSP_PORTS || dev->port == 0) { printk(KERN_WARNING "SSP: tried to close invalid port\n"); return; 
void ssp_exit(struct ssp_dev *dev){	int irq;	down(&sem);	SSCR0_P(dev->port) &= ~SSCR0_SSE;	/* find irq, save power and turn off SSP port clock */	switch (dev->port) {#if defined (CONFIG_PXA27x)		case 1:			irq = IRQ_SSP;			pxa_set_cken(CKEN23_SSP1, 0);			break;		case 2:			irq = IRQ_SSP2;			pxa_set_cken(CKEN3_SSP2, 0);			break;		case 3:			irq = IRQ_SSP3;			pxa_set_cken(CKEN4_SSP3, 0);			break;#else		case 1:			irq = IRQ_SSP;			pxa_set_cken(CKEN3_SSP, 0);			break;		case 2:			irq = IRQ_NSSP;			pxa_set_cken(CKEN9_NSSP, 0);			break;		case 3:			irq = IRQ_ASSP;			pxa_set_cken(CKEN10_ASSP, 0);			break;#endif		default:			printk(KERN_WARNING "SSP: tried to close invalid port\n");			return;	}	free_irq(irq, dev);	release_mem_region(__PREG(SSCR0_P(dev->port)), 0x2c);	use_count[dev->port - 1]--;	up(&sem);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/b216c01829d0b73a468204e2e763c0a818b77a46/ssp.c/clean/arch/arm/mach-pxa/ssp.c