static int __init smsc_superio_paged(const smsc_chip_t *chips, unsigned short cfg_base, char *type) 
static int __init smsc_superio_paged(const struct smsc_chip *chips, unsigned short cfg_base, char *type) 
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 && smsc_ircc_open(fir_io, sir_io, ircc_dma, ircc_irq) == 0)		ret = 0;	/* Exit configuration */	outb(SMSCSIO_CFGEXITKEY, cfg_base);	return ret;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/b6158d23a60ac32fc08316703266b6ab14d9dc00/smsc-ircc2.c/buggy/drivers/net/irda/smsc-ircc2.c