diff options
Diffstat (limited to 'drivers/gpu/drm/drm_irq.c')
-rw-r--r-- | drivers/gpu/drm/drm_irq.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c index 45a07652fa00..9bd8908d5fd8 100644 --- a/drivers/gpu/drm/drm_irq.c +++ b/drivers/gpu/drm/drm_irq.c @@ -103,9 +103,6 @@ int drm_irq_install(struct drm_device *dev, int irq) int ret; unsigned long sh_flags = 0; - if (!drm_core_check_feature(dev, DRIVER_HAVE_IRQ)) - return -EOPNOTSUPP; - if (irq == 0) return -EINVAL; @@ -123,8 +120,8 @@ int drm_irq_install(struct drm_device *dev, int irq) if (dev->driver->irq_preinstall) dev->driver->irq_preinstall(dev); - /* Install handler */ - if (drm_core_check_feature(dev, DRIVER_IRQ_SHARED)) + /* PCI devices require shared interrupts. */ + if (dev->pdev) sh_flags = IRQF_SHARED; ret = request_irq(irq, dev->driver->irq_handler, @@ -174,9 +171,6 @@ int drm_irq_uninstall(struct drm_device *dev) bool irq_enabled; int i; - if (!drm_core_check_feature(dev, DRIVER_HAVE_IRQ)) - return -EOPNOTSUPP; - irq_enabled = dev->irq_enabled; dev->irq_enabled = false; |