I am going through the driver kernel modules in Linux kernel and usually request_irq() is called from the probe function. drivers/net/ethernet/natsemi/ns83820.ko can be one such example.
request_irq() calls request_threaded_irq() and this is mentioned in the comments:
This call allocates interrupt resources and enables the
interrupt line and IRQ handling. From the point this
call is made your handler function may be invoked.
link: https://elixir.bootlin.com/linux/latest/source/kernel/irq/manage.c#L1984
That means that handler can be invoked even before probe completes.
But I have noticed in many drivers that no care is taken for shared variables or fields of dev that can be read and modified simultaneously in probe and interrupt handler.
I want to know how often does this case occurs that probe and interrupt handler run in parallel.