/* The EISA IRQ number is found in bits 8 to 10 of the CfgLsw. It decodes as: 000: 10 001: 11 010: 12 011: invalid 100: 14 101: 15 110: invalid 111: invalid  */
static unsigned int __devinit advansys_eisa_irq_no(struct eisa_device *edev)
/* The EISA IRQ number is found in bits 8 to 10 of the CfgLsw. It decodes as: 000: 10 001: 11 010: 12 011: invalid 100: 14 101: 15 110: invalid 111: invalid  */
static unsigned int __devinit advansys_eisa_irq_no(struct eisa_device *edev)
{
	unsigned short cfg_lsw = inw(edev->base_addr + 0xc86);
	unsigned int chip_irq = ((cfg_lsw >> 8) & 0x07) + 10;
	if ((chip_irq == 13) || (chip_irq > 15))
		return 0;
	return chip_irq;
}