static void asp_choose_irq(struct parisc_device *dev, void *ctrl) { int irq; switch (dev->id.sversion) { case 0x71: irq = 9; break; /* SCSI */ case 0x72: irq = 8; break; /* LAN */ case 0x73: irq = 1; break; /* HIL */ case 0x74: irq = 7; break; /* Centronics */ case 0x75: irq = (dev->hw_path == 4) ? 5 : 6; break; /* RS232 */ case 0x76: irq = 10; break; /* EISA BA */ case 0x77: irq = 11; break; /* Graphics1 */ case 0x7a: irq = 13; break; /* Audio (Bushmaster) */ case 0x7b: irq = 13; break; /* Audio (Scorpio) */ case 0x7c: irq = 3; break; /* FW SCSI */ case 0x7d: irq = 4; break; /* FDDI */ case 0x7f: irq = 13; break; /* Audio (Outfield) */ default: return; /* Unknown */ } gsc_asic_assign_irq(ctrl, irq, &dev->irq); switch (dev->id.sversion) { case 0x73: irq = 2; break; /* i8042 High-priority */ case 0x76: irq = 0; break; /* EISA BA */ default: return; /* Other */ } gsc_asic_assign_irq(ctrl, irq, &dev->aux_irq); }
static void asp_choose_irq(struct parisc_device *dev, void *ctrl) { int irq; switch (dev->id.sversion) { case 0x71: irq = 9; break; /* */ case 0x72: irq = 8; break; /* */ case 0x73: irq = 1; break; /* */ case 0x74: irq = 7; break; /* */ case 0x75: irq = (dev->hw_path == 4) ? 5 : 6; break; /* */ case 0x76: irq = 10; break; /* */ case 0x77: irq = 11; break; /* */ case 0x7a: irq = 13; break; /* */ case 0x7b: irq = 13; break; /* */ case 0x7c: irq = 3; break; /* */ case 0x7d: irq = 4; break; /* */ case 0x7f: irq = 13; break; /* */ default: return; /* */ } gsc_asic_assign_irq(ctrl, irq, &dev->irq); switch (dev->id.sversion) { case 0x73: irq = 2; break; /* */ case 0x76: irq = 0; break; /* */ default: return; /* */ } gsc_asic_assign_irq(ctrl, irq, &dev->aux_irq); }
static void wax_choose_irq(struct parisc_device *dev, void *ctrl) { int irq; switch (dev->id.sversion) { case 0x73: irq = 1; break; /* i8042 General */ case 0x8c: irq = 6; break; /* Serial */ case 0x90: irq = 10; break; /* EISA */ default: return; /* Unknown */ } gsc_asic_assign_irq(ctrl, irq, &dev->irq); switch (dev->id.sversion) { case 0x73: irq = 2; break; /* i8042 High-priority */ case 0x90: irq = 0; break; /* EISA NMI */ default: return; /* No secondary IRQ */ } gsc_asic_assign_irq(ctrl, irq, &dev->aux_irq); }
static void wax_choose_irq(struct parisc_device *dev, void *ctrl) { int irq; switch (dev->id.sversion) { case 0x73: irq = 1; break; /* */ case 0x8c: irq = 6; break; /* */ case 0x90: irq = 10; break; /* */ default: return; /* */ } gsc_asic_assign_irq(ctrl, irq, &dev->irq); switch (dev->id.sversion) { case 0x73: irq = 2; break; /* */ case 0x90: irq = 0; break; /* */ default: return; /* */ } gsc_asic_assign_irq(ctrl, irq, &dev->aux_irq); }
static void lasi_choose_irq(struct parisc_device *dev, void *ctrl) { int irq; switch (dev->id.sversion) { case 0x74: irq = 7; break; /* Centronics */ case 0x7B: irq = 13; break; /* Audio */ case 0x81: irq = 14; break; /* Lasi itself */ case 0x82: irq = 9; break; /* SCSI */ case 0x83: irq = 20; break; /* Floppy */ case 0x84: irq = 26; break; /* PS/2 Keyboard */ case 0x87: irq = 18; break; /* ISDN */ case 0x8A: irq = 8; break; /* LAN */ case 0x8C: irq = 5; break; /* RS232 */ case 0x8D: irq = (dev->hw_path == 13) ? 16 : 17; break; /* Telephone */ default: return; /* unknown */ } gsc_asic_assign_irq(ctrl, irq, &dev->irq); }
static void lasi_choose_irq(struct parisc_device *dev, void *ctrl) { int irq; switch (dev->id.sversion) { case 0x74: irq = 7; break; case 0x7B: irq = 13; break; case 0x81: irq = 14; break; case 0x82: irq = 9; break; case 0x83: irq = 20; break; case 0x84: irq = 26; break; case 0x87: irq = 18; break; case 0x8A: irq = 8; break; case 0x8C: irq = 5; break; case 0x8D: irq = (dev->hw_path == 13) ? 16 : 17; break; default: return; } gsc_asic_assign_irq(ctrl, irq, &dev->irq); }