diff options
Diffstat (limited to 'drivers/gpu/drm/drm_irq.c')
| -rw-r--r-- | drivers/gpu/drm/drm_irq.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c index 93e677a481f5..fc8e5acd9d9a 100644 --- a/drivers/gpu/drm/drm_irq.c +++ b/drivers/gpu/drm/drm_irq.c | |||
| @@ -196,6 +196,7 @@ int drm_irq_install(struct drm_device *dev) | |||
| 196 | { | 196 | { |
| 197 | int ret = 0; | 197 | int ret = 0; |
| 198 | unsigned long sh_flags = 0; | 198 | unsigned long sh_flags = 0; |
| 199 | char *irqname; | ||
| 199 | 200 | ||
| 200 | if (!drm_core_check_feature(dev, DRIVER_HAVE_IRQ)) | 201 | if (!drm_core_check_feature(dev, DRIVER_HAVE_IRQ)) |
| 201 | return -EINVAL; | 202 | return -EINVAL; |
| @@ -227,8 +228,13 @@ int drm_irq_install(struct drm_device *dev) | |||
| 227 | if (drm_core_check_feature(dev, DRIVER_IRQ_SHARED)) | 228 | if (drm_core_check_feature(dev, DRIVER_IRQ_SHARED)) |
| 228 | sh_flags = IRQF_SHARED; | 229 | sh_flags = IRQF_SHARED; |
| 229 | 230 | ||
| 231 | if (dev->devname) | ||
| 232 | irqname = dev->devname; | ||
| 233 | else | ||
| 234 | irqname = dev->driver->name; | ||
| 235 | |||
| 230 | ret = request_irq(drm_dev_to_irq(dev), dev->driver->irq_handler, | 236 | ret = request_irq(drm_dev_to_irq(dev), dev->driver->irq_handler, |
| 231 | sh_flags, dev->devname, dev); | 237 | sh_flags, irqname, dev); |
| 232 | 238 | ||
| 233 | if (ret < 0) { | 239 | if (ret < 0) { |
| 234 | mutex_lock(&dev->struct_mutex); | 240 | mutex_lock(&dev->struct_mutex); |
