[PATCH v2] drm/ingenic: Convert to Linux IRQ interfaces

paul paul at crapouillou.net
Thu Jul 15 10:59:41 UTC 2021


On 2021-07-15 12:02, Thomas Zimmermann wrote:
> Drop the DRM IRQ midlayer in favor of Linux IRQ interfaces. DRM's
> IRQ helpers are mostly useful for UMS drivers. Modern KMS drivers
> don't benefit from using it.
> 
> This patch also fixes a bug where the driver didn't release the
> IRQ.
> 
> v2:
> 	* automatically release IRQ via devm_request_irq() (Paul)
> 	* mention the bugfix (Sam)
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>
> Reviewed-by: Sam Ravnborg <sam at ravnborg.org>

Reviewed-by: Paul Cercueil <paul at crapouillou.net>

Cheers,
-Paul

> ---
>  drivers/gpu/drm/ingenic/ingenic-drm-drv.c | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
> b/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
> index c296472164d9..857ed070b21b 100644
> --- a/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
> +++ b/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
> @@ -33,7 +33,6 @@
>  #include <drm/drm_fourcc.h>
>  #include <drm/drm_gem_atomic_helper.h>
>  #include <drm/drm_gem_framebuffer_helper.h>
> -#include <drm/drm_irq.h>
>  #include <drm/drm_managed.h>
>  #include <drm/drm_of.h>
>  #include <drm/drm_panel.h>
> @@ -799,8 +798,6 @@ static const struct drm_driver 
> ingenic_drm_driver_data = {
>  	.fops			= &ingenic_drm_fops,
>  	.gem_create_object	= ingenic_drm_gem_create_object,
>  	DRM_GEM_CMA_DRIVER_OPS,
> -
> -	.irq_handler		= ingenic_drm_irq_handler,
>  };
> 
>  static const struct drm_plane_funcs ingenic_drm_primary_plane_funcs = 
> {
> @@ -1098,7 +1095,7 @@ static int ingenic_drm_bind(struct device *dev,
> bool has_components)
>  		encoder->possible_clones = clone_mask;
>  	}
> 
> -	ret = drm_irq_install(drm, irq);
> +	ret = devm_request_irq(dev, irq, ingenic_drm_irq_handler, 0,
> drm->driver->name, drm);
>  	if (ret) {
>  		dev_err(dev, "Unable to install IRQ handler\n");
>  		return ret;


More information about the dri-devel mailing list