Во-первых должна быть поддержка со стороны устройства, что-то наподобие регистра статуса, и если твое устройство не поддерживает возможность разделения прерываний — то все усилия напрасны.
Теперь, если же твое устройство поддерживает возможность разделения прерываний.
Когда ты регистрируешь обработчик c помощью
request_irq(irq, handler, flags, name, void *dev_id)
последний аргумент dev_id как раз нужен будет для идентификации твоего устройства.
То есть в обработчике вторым аргументом будет передаваться именно твой dev_id, который ты указал при регистрации. Соответственно тебе нужно в обработчике всего лишь проверить, твой это dev_id или не твой