Each device driver requests its own interrupts. For drivers loaded as modules, they're usually specified as command-line parameters when you load the modules. For built-in drivers, they're usually specified as options to the kernel when it is booted.
For some drivers (like the serial ones) there is an ioctl() you can call to configure IRQ usage.
You either have to write an application that uses the same ioctl() that setserial uses, or find out if the serial driver can have it's IRQ usage set by a kernel option passed by the bootloader.