drm: pass the irq explicitly to drm_irq_install
[firefly-linux-kernel-4.4.55.git] / drivers / gpu / drm / drm_irq.c
index cbf6f259bfe496640ec04f15d87573fef0798b73..de38bc9b658119dc5330ebe0dc865841bacc16f3 100644 (file)
@@ -233,11 +233,6 @@ static void drm_irq_vgaarb_nokms(void *cookie, bool state)
        }
 }
 
-static inline int drm_dev_to_irq(struct drm_device *dev)
-{
-       return dev->driver->bus->get_irq(dev);
-}
-
 /**
  * Install IRQ handler.
  *
@@ -247,14 +242,12 @@ static inline int drm_dev_to_irq(struct drm_device *dev)
  * \c irq_preinstall() and \c irq_postinstall() functions
  * before and after the installation.
  */
-int drm_irq_install(struct drm_device *dev)
+int drm_irq_install(struct drm_device *dev, int irq)
 {
-       int ret, irq;
+       int ret;
        unsigned long sh_flags = 0;
        char *irqname;
 
-       irq = drm_dev_to_irq(dev);
-
        if (!drm_core_check_feature(dev, DRIVER_HAVE_IRQ))
                return -EINVAL;
 
@@ -399,7 +392,7 @@ int drm_control(struct drm_device *dev, void *data,
                    ctl->irq != irq)
                        return -EINVAL;
                mutex_lock(&dev->struct_mutex);
-               ret = drm_irq_install(dev);
+               ret = drm_irq_install(dev, irq);
                mutex_unlock(&dev->struct_mutex);
 
                return ret;