sir_io  = inb(cfg_base + 1) << 8; 
sir_io = inb(cfg_base + 1) << 8; 
static int __init smsc_superio_paged(const smsc_chip_t *chips, unsigned short cfg_base, char *type){	unsigned short fir_io, sir_io;	int ret = -ENODEV;	IRDA_DEBUG(1, "%s\n", __FUNCTION__);	if (smsc_ircc_probe(cfg_base,0x20,chips,type)==NULL)		return ret;	/* Select logical device (UART2) */	outb(0x07, cfg_base);	outb(0x05, cfg_base + 1);	/* SIR iobase */	outb(0x60, cfg_base);	sir_io  = inb(cfg_base + 1) << 8;	outb(0x61, cfg_base);	sir_io |= inb(cfg_base + 1);	/* Read FIR base */	outb(0x62, cfg_base);	fir_io = inb(cfg_base + 1) << 8;	outb(0x63, cfg_base);	fir_io |= inb(cfg_base + 1);	outb(0x2b, cfg_base); /* ??? */	if (fir_io) {		if (smsc_ircc_open(fir_io, sir_io, ircc_dma, ircc_irq) == 0)			ret=0;	}	/* Exit configuration */	outb(SMSCSIO_CFGEXITKEY, cfg_base);	return ret;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/98b7777331d4344821e900040da5d1d3016d9e67/smsc-ircc2.c/clean/drivers/net/irda/smsc-ircc2.c