I think this should not be asm-generic and lib, but kernel/irq/handle.c
and include/linux/irq.h, under the CONFIG_MULTI_IRQ_HANDLER symbol
already used by arm.
Also for completeness of the series please convert arm, arm64 and
openrisc over to the generic version. Last but not least I think
handle_arch_irq needs to be marked as __ro_after_init as a security
hardening measure.