From: Daniel Vetter Date: Wed, 10 Sep 2014 10:43:58 +0000 (+0200) Subject: drm: Move LOCK_TEST_WITH_RETURN to X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=8f1a2c8dc0dc5c2842e08f304ebdd34b5ddb982c;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git drm: Move LOCK_TEST_WITH_RETURN to Unfortunately we can't move struct drm_lock_data easily since it's embedded into struct drm_master. And figuring out where exactly this struct should be allocated isn't that simple ... Signed-off-by: Daniel Vetter --- diff --git a/include/drm/drmP.h b/include/drm/drmP.h index 0d68ecdb447a..0308214a6f83 100644 --- a/include/drm/drmP.h +++ b/include/drm/drmP.h @@ -221,23 +221,6 @@ int drm_err(const char *func, const char *format, ...); #define DRM_IF_VERSION(maj, min) (maj << 16 | min) -/** - * Test that the hardware lock is held by the caller, returning otherwise. - * - * \param dev DRM device. - * \param filp file pointer of the caller. - */ -#define LOCK_TEST_WITH_RETURN( dev, _file_priv ) \ -do { \ - if (!_DRM_LOCK_IS_HELD(_file_priv->master->lock.hw_lock->lock) || \ - _file_priv->master->lock.file_priv != _file_priv) { \ - DRM_ERROR( "%s called without lock held, held %d owner %p %p\n",\ - __func__, _DRM_LOCK_IS_HELD(_file_priv->master->lock.hw_lock->lock),\ - _file_priv->master->lock.file_priv, _file_priv); \ - return -EINVAL; \ - } \ -} while (0) - /** * Ioctl function type. * diff --git a/include/drm/drm_legacy.h b/include/drm/drm_legacy.h index a0fabf7624ea..6486306beb0d 100644 --- a/include/drm/drm_legacy.h +++ b/include/drm/drm_legacy.h @@ -161,6 +161,23 @@ struct drm_local_map *drm_legacy_getsarea(struct drm_device *dev); int drm_legacy_addbufs_agp(struct drm_device *d, struct drm_buf_desc *req); int drm_legacy_addbufs_pci(struct drm_device *d, struct drm_buf_desc *req); +/** + * Test that the hardware lock is held by the caller, returning otherwise. + * + * \param dev DRM device. + * \param filp file pointer of the caller. + */ +#define LOCK_TEST_WITH_RETURN( dev, _file_priv ) \ +do { \ + if (!_DRM_LOCK_IS_HELD(_file_priv->master->lock.hw_lock->lock) || \ + _file_priv->master->lock.file_priv != _file_priv) { \ + DRM_ERROR( "%s called without lock held, held %d owner %p %p\n",\ + __func__, _DRM_LOCK_IS_HELD(_file_priv->master->lock.hw_lock->lock),\ + _file_priv->master->lock.file_priv, _file_priv); \ + return -EINVAL; \ + } \ +} while (0) + void drm_legacy_idlelock_take(struct drm_lock_data *lock); void drm_legacy_idlelock_release(struct drm_lock_data *lock);