void smsc_ircc_set_sir_speed(void *priv, __u32 speed) 
void smsc_ircc_set_sir_speed(struct smsc_ircc_cb *self, __u32 speed) 
void smsc_ircc_set_sir_speed(void *priv, __u32 speed){	struct smsc_ircc_cb *self = (struct smsc_ircc_cb *) priv;	int iobase;	int fcr;    /* FIFO control reg */	int lcr;    /* Line control reg */	int divisor;	IRDA_DEBUG(0, "%s(), Setting speed to: %d\n", __FUNCTION__, speed);	IRDA_ASSERT(self != NULL, return;);	iobase = self->io.sir_base;	/* Update accounting for new speed */	self->io.speed = speed;	/* Turn off interrupts */	outb(0, iobase + UART_IER);	divisor = SMSC_IRCC2_MAX_SIR_SPEED / speed;	fcr = UART_FCR_ENABLE_FIFO;	/*	 * Use trigger level 1 to avoid 3 ms. timeout delay at 9600 bps, and	 * almost 1,7 ms at 19200 bps. At speeds above that we can just forget	 * about this timeout since it will always be fast enough.	 */	fcr |= self->io.speed < 38400 ?		UART_FCR_TRIGGER_1 : UART_FCR_TRIGGER_14;	/* IrDA ports use 8N1 */	lcr = UART_LCR_WLEN8;	outb(UART_LCR_DLAB | lcr, iobase + UART_LCR); /* Set DLAB */	outb(divisor & 0xff,      iobase + UART_DLL); /* Set speed */	outb(divisor >> 8,	  iobase + UART_DLM);	outb(lcr,		  iobase + UART_LCR); /* Set 8N1 */	outb(fcr,		  iobase + UART_FCR); /* Enable FIFO's */	/* Turn on interrups */	outb(UART_IER_RLSI | UART_IER_RDI | UART_IER_THRI, iobase + UART_IER);	IRDA_DEBUG(2, "%s() speed changed to: %d\n", __FUNCTION__, speed);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/0fa2f491f0547ddb87fa3069afee3eda43b51057/smsc-ircc2.c/clean/drivers/net/irda/smsc-ircc2.c