mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-19 09:04:51 +08:00
drm/meson: Convert to Linux IRQ interfaces
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. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Neil Armstrong <narmstrong@baylibre.com> Link: https://patchwork.freedesktop.org/patch/msgid/20210706074545.8763-1-tzimmermann@suse.de
This commit is contained in:
parent
7915d56129
commit
65a969655c
@ -21,7 +21,6 @@
|
||||
#include <drm/drm_fb_helper.h>
|
||||
#include <drm/drm_gem_cma_helper.h>
|
||||
#include <drm/drm_gem_framebuffer_helper.h>
|
||||
#include <drm/drm_irq.h>
|
||||
#include <drm/drm_modeset_helper_vtables.h>
|
||||
#include <drm/drm_probe_helper.h>
|
||||
#include <drm/drm_vblank.h>
|
||||
@ -94,9 +93,6 @@ DEFINE_DRM_GEM_CMA_FOPS(fops);
|
||||
static const struct drm_driver meson_driver = {
|
||||
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
|
||||
|
||||
/* IRQ */
|
||||
.irq_handler = meson_irq,
|
||||
|
||||
/* CMA Ops */
|
||||
DRM_GEM_CMA_DRIVER_OPS_WITH_DUMB_CREATE(meson_dumb_create),
|
||||
|
||||
@ -335,7 +331,7 @@ static int meson_drv_bind_master(struct device *dev, bool has_components)
|
||||
if (ret)
|
||||
goto free_drm;
|
||||
|
||||
ret = drm_irq_install(drm, priv->vsync_irq);
|
||||
ret = request_irq(priv->vsync_irq, meson_irq, 0, drm->driver->name, drm);
|
||||
if (ret)
|
||||
goto free_drm;
|
||||
|
||||
@ -354,7 +350,7 @@ static int meson_drv_bind_master(struct device *dev, bool has_components)
|
||||
return 0;
|
||||
|
||||
uninstall_irq:
|
||||
drm_irq_uninstall(drm);
|
||||
free_irq(priv->vsync_irq, drm);
|
||||
free_drm:
|
||||
drm_dev_put(drm);
|
||||
|
||||
@ -382,7 +378,7 @@ static void meson_drv_unbind(struct device *dev)
|
||||
drm_kms_helper_poll_fini(drm);
|
||||
drm_atomic_helper_shutdown(drm);
|
||||
component_unbind_all(dev, drm);
|
||||
drm_irq_uninstall(drm);
|
||||
free_irq(priv->vsync_irq, drm);
|
||||
drm_dev_put(drm);
|
||||
|
||||
if (priv->afbcd.ops) {
|
||||
|
Loading…
Reference in New Issue
Block a user