diff options
author | Eric Anholt <anholt@freebsd.org> | 2003-10-22 22:08:53 +0000 |
---|---|---|
committer | Eric Anholt <anholt@freebsd.org> | 2003-10-22 22:08:53 +0000 |
commit | 86e6325e5ab848c15c422f20133445fe6c1caa09 (patch) | |
tree | 8c4699b4ddac738ed005d5f4aedd9dae4c628bed /bsd-core/drm_os_netbsd.h | |
parent | 4e6ddcbb698c029b407d5dc43348c6e422a36705 (diff) |
- 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.
Diffstat (limited to 'bsd-core/drm_os_netbsd.h')
-rw-r--r-- | bsd-core/drm_os_netbsd.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/bsd-core/drm_os_netbsd.h b/bsd-core/drm_os_netbsd.h index b03399d8..4c95c50f 100644 --- a/bsd-core/drm_os_netbsd.h +++ b/bsd-core/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) || \ |