summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authormpi <mpi@openbsd.org>2017-08-12 19:46:02 +0000
committermpi <mpi@openbsd.org>2017-08-12 19:46:02 +0000
commit7b004868a21f14aef45bb9ef9489c19d52523913 (patch)
tree0caa0dcf79609c84ed564064587e6ad1f695d7a4 /sys
parentalways strip the ctf section from ramdisk kernels (diff)
downloadwireguard-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@
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/pci/drm/drm_irq.c14
-rw-r--r--sys/dev/pci/drm/drm_linux.h6
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)