Hi Tommaso, Thank you for the patch. On Fri, Feb 21, 2025 at 04:55:28PM +0100, Tommaso Merciai wrote: > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> > > Add `irq_handler` to the `rzg2l_cru_info` structure and pass it as part of > the OF data. This prepares for supporting RZ/G3E and RZ/V2H(P) SoCs, which > require a different IRQ handler. Update the IRQ request code to use the > handler from the OF data. > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> > Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@xxxxxxxxxxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> > --- > drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c | 3 ++- > drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h | 1 + > 2 files changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c > index 7e94ae803967..510e55496e8e 100644 > --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c > +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c > @@ -278,7 +278,7 @@ static int rzg2l_cru_probe(struct platform_device *pdev) > if (irq < 0) > return irq; > > - ret = devm_request_irq(dev, irq, rzg2l_cru_irq, 0, > + ret = devm_request_irq(dev, irq, cru->info->irq_handler, 0, > KBUILD_MODNAME, cru); > if (ret) > return dev_err_probe(dev, ret, "failed to request irq\n"); > @@ -359,6 +359,7 @@ static const struct rzg2l_cru_info rzgl2_cru_info = { > .max_height = 4095, > .image_conv = ICnMC, > .regs = rzg2l_cru_regs, > + .irq_handler = rzg2l_cru_irq, > }; > > static const struct of_device_id rzg2l_cru_of_id_table[] = { > diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h > index ca156772b949..32bea35c8c1f 100644 > --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h > +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-cru.h > @@ -83,6 +83,7 @@ struct rzg2l_cru_info { > unsigned int max_height; > u16 image_conv; > const u16 *regs; > + irqreturn_t (*irq_handler)(int irq, void *data); > }; > > /** -- Regards, Laurent Pinchart