drivers/char/ip2: split out irq core logic into separate function