From 86e6325e5ab848c15c422f20133445fe6c1caa09 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 22 Oct 2003 22:08:53 +0000 Subject: - Add DRM_GET_PRIV_WITH_RETURN macro. This can be used in shared code to get the drm_file_t * based on the filp passed in ioctl handlers. - Use this macro on BSD for simplification and improve its error reporting. Make failure to find the drm_file_t * print as an error, not debug. This failure may be part of the problem with KDE. - Make debug and error print macros include the pid on BSD. --- bsd/drm_os_netbsd.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'bsd/drm_os_netbsd.h') diff --git a/bsd/drm_os_netbsd.h b/bsd/drm_os_netbsd.h index b03399d8..4c95c50f 100644 --- a/bsd/drm_os_netbsd.h +++ b/bsd/drm_os_netbsd.h @@ -140,6 +140,19 @@ extern const int DRM(M_DRM) = M_DEVBUF; #define DRM_AGP_FIND_DEVICE() agp_find_device(0) +#define DRM_GET_PRIV_WITH_RETURN(_priv, _filp) \ +do { \ + if (_filp != (DRMFILE)DRM_CURRENTPID) { \ + DRM_ERROR("filp doesn't match curproc\n"); \ + return EINVAL; \ + } \ + _priv = DRM(find_file_by_proc)(dev, DRM_CURPROC); \ + if (_priv == NULL) { \ + DRM_ERROR("can't find authenticator\n"); \ + return EINVAL; \ + } \ +} while (0) + #define LOCK_TEST_WITH_RETURN(dev, filp) \ do { \ if (!_DRM_LOCK_IS_HELD(dev->lock.hw_lock->lock) || \ -- cgit v1.2.3