diff options
author | 2017-08-12 19:46:02 +0000 | |
---|---|---|
committer | 2017-08-12 19:46:02 +0000 | |
commit | 7b004868a21f14aef45bb9ef9489c19d52523913 (patch) | |
tree | 0caa0dcf79609c84ed564064587e6ad1f695d7a4 | |
parent | always strip the ctf section from ramdisk kernels (diff) | |
download | wireguard-openbsd-7b004868a21f14aef45bb9ef9489c19d52523913.tar.xz wireguard-openbsd-7b004868a21f14aef45bb9ef9489c19d52523913.zip |
Provide a stub implementation for request_irq() and free_irq().
Fix Coverity CID 1453484 and reduce diff with Linux.
ok kettenis@
-rw-r--r-- | sys/dev/pci/drm/drm_irq.c | 14 | ||||
-rw-r--r-- | sys/dev/pci/drm/drm_linux.h | 6 |
2 files changed, 7 insertions, 13 deletions
diff --git a/sys/dev/pci/drm/drm_irq.c b/sys/dev/pci/drm/drm_irq.c index b323c3ca08f..c4356bea318 100644 --- a/sys/dev/pci/drm/drm_irq.c +++ b/sys/dev/pci/drm/drm_irq.c @@ -446,15 +446,16 @@ err: } EXPORT_SYMBOL(drm_vblank_init); -#ifdef __linux__ static void drm_irq_vgaarb_nokms(void *cookie, bool state) { struct drm_device *dev = cookie; +#ifdef __linux__ if (dev->driver->vgaarb_irq) { dev->driver->vgaarb_irq(dev, state); return; } +#endif if (!dev->irq_enabled) return; @@ -469,7 +470,6 @@ static void drm_irq_vgaarb_nokms(void *cookie, bool state) dev->driver->irq_postinstall(dev); } } -#endif /** * drm_irq_install - install IRQ handler @@ -491,9 +491,7 @@ static void drm_irq_vgaarb_nokms(void *cookie, bool state) int drm_irq_install(struct drm_device *dev, int irq) { int ret; -#ifdef __linux__ unsigned long sh_flags = 0; -#endif if (!drm_core_check_feature(dev, DRIVER_HAVE_IRQ)) return -EINVAL; @@ -515,7 +513,6 @@ int drm_irq_install(struct drm_device *dev, int irq) if (dev->driver->irq_preinstall) dev->driver->irq_preinstall(dev); -#ifdef __linux__ /* Install handler */ if (drm_core_check_feature(dev, DRIVER_IRQ_SHARED)) sh_flags = IRQF_SHARED; @@ -530,7 +527,6 @@ int drm_irq_install(struct drm_device *dev, int irq) if (!drm_core_check_feature(dev, DRIVER_MODESET)) vga_client_register(dev->pdev, (void *)dev, drm_irq_vgaarb_nokms, NULL); -#endif /* After installing handler */ if (dev->driver->irq_postinstall) @@ -538,11 +534,9 @@ int drm_irq_install(struct drm_device *dev, int irq) if (ret < 0) { dev->irq_enabled = false; -#ifdef __linux__ if (!drm_core_check_feature(dev, DRIVER_MODESET)) vga_client_register(dev->pdev, NULL, NULL, NULL); free_irq(irq, dev); -#endif } else { dev->irq = irq; } @@ -606,17 +600,13 @@ int drm_irq_uninstall(struct drm_device *dev) DRM_DEBUG("irq=%d\n", dev->irq); -#ifdef __linux__ if (!drm_core_check_feature(dev, DRIVER_MODESET)) vga_client_register(dev->pdev, NULL, NULL, NULL); -#endif if (dev->driver->irq_uninstall) dev->driver->irq_uninstall(dev); -#ifdef __linux__ free_irq(dev->irq, dev); -#endif return 0; } diff --git a/sys/dev/pci/drm/drm_linux.h b/sys/dev/pci/drm/drm_linux.h index e525e585367..a3ce4e84f9a 100644 --- a/sys/dev/pci/drm/drm_linux.h +++ b/sys/dev/pci/drm/drm_linux.h @@ -1,4 +1,4 @@ -/* $OpenBSD: drm_linux.h,v 1.60 2017/08/12 16:28:01 guenther Exp $ */ +/* $OpenBSD: drm_linux.h,v 1.61 2017/08/12 19:46:02 mpi Exp $ */ /* * Copyright (c) 2013, 2014, 2015 Mark Kettenis * @@ -532,9 +532,13 @@ _spin_unlock_irqrestore(struct mutex *mtxp, __unused unsigned long flags #define might_lock(lock) #define lockdep_assert_held(lock) do { (void)(lock); } while(0) +#define IRQF_SHARED 0 + #define local_irq_save(x) (x) = splhigh() #define local_irq_restore(x) splx((x)) +#define request_irq(irq, hdlr, flags, name, dev) (0) +#define free_irq(irq, dev) #define synchronize_irq(x) #define fence_wait(x, y) |