Hi Geert, Thank you for the patch. On Thu, Jun 22, 2023 at 11:21:28AM +0200, Geert Uytterhoeven wrote: > Convert to managed IRQ handling, to simplify cleanup. > > Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/renesas/shmobile/shmob_drm_drv.c | 9 +++------ > 1 file changed, 3 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/renesas/shmobile/shmob_drm_drv.c b/drivers/gpu/drm/renesas/shmobile/shmob_drm_drv.c > index 50fca18282c5cb5e..ece9aedde9b662d4 100644 > --- a/drivers/gpu/drm/renesas/shmobile/shmob_drm_drv.c > +++ b/drivers/gpu/drm/renesas/shmobile/shmob_drm_drv.c > @@ -169,7 +169,6 @@ static int shmob_drm_remove(struct platform_device *pdev) > > drm_dev_unregister(ddev); > drm_kms_helper_poll_fini(ddev); > - free_irq(sdev->irq, ddev); > drm_dev_put(ddev); > > return 0; > @@ -252,8 +251,8 @@ static int shmob_drm_probe(struct platform_device *pdev) > goto err_modeset_cleanup; > sdev->irq = ret; > > - ret = request_irq(sdev->irq, shmob_drm_irq, 0, ddev->driver->name, > - ddev); > + ret = devm_request_irq(&pdev->dev, sdev->irq, shmob_drm_irq, 0, > + ddev->driver->name, ddev); > if (ret < 0) { > dev_err(&pdev->dev, "failed to install IRQ handler\n"); > goto err_modeset_cleanup; > @@ -265,14 +264,12 @@ static int shmob_drm_probe(struct platform_device *pdev) > */ > ret = drm_dev_register(ddev, 0); > if (ret < 0) > - goto err_irq_uninstall; > + goto err_modeset_cleanup; > > drm_fbdev_generic_setup(ddev, 16); > > return 0; > > -err_irq_uninstall: > - free_irq(sdev->irq, ddev); > err_modeset_cleanup: > drm_kms_helper_poll_fini(ddev); > err_free_drm_dev: -- Regards, Laurent Pinchart