Cleaned up new set_irq function.