Commit d78aa650 authored by Daniel Vetter's avatar Daniel Vetter

drm: Add drm/drm_util.h header file

We have a bunch of neat little macros all over the place which should
move to kernel.h. But some of them died in bikesheds on lkml, and we
need a decent home for them.

Start out by moving the for_each_if macro there.

v2: Rename to drm_util.h instead (Dave&Sean)

Cc: Sean Paul <seanpaul@chromium.org>
Acked-by: default avatarSean Paul <seanpaul@chromium.org>
Cc: Dave Airlie <airlied@gmail.com>
Acked-by: default avatarDave Airlie <airlied@gmail.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20180905135711.28370-1-daniel.vetter@ffwll.ch
parent c9527f0d
...@@ -52,6 +52,7 @@ ...@@ -52,6 +52,7 @@
#include <drm/drm_gem.h> #include <drm/drm_gem.h>
#include <drm/drm_auth.h> #include <drm/drm_auth.h>
#include <drm/drm_cache.h> #include <drm/drm_cache.h>
#include <drm/drm_util.h>
#include "i915_params.h" #include "i915_params.h"
#include "i915_reg.h" #include "i915_reg.h"
......
...@@ -25,6 +25,8 @@ ...@@ -25,6 +25,8 @@
#ifndef _INTEL_DISPLAY_H_ #ifndef _INTEL_DISPLAY_H_
#define _INTEL_DISPLAY_H_ #define _INTEL_DISPLAY_H_
#include <drm/drm_util.h>
enum pipe { enum pipe {
INVALID_PIPE = -1, INVALID_PIPE = -1,
......
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
#ifndef _INTEL_RINGBUFFER_H_ #ifndef _INTEL_RINGBUFFER_H_
#define _INTEL_RINGBUFFER_H_ #define _INTEL_RINGBUFFER_H_
#include <drm/drm_util.h>
#include <linux/hashtable.h> #include <linux/hashtable.h>
#include <linux/seqlock.h> #include <linux/seqlock.h>
......
...@@ -32,6 +32,8 @@ ...@@ -32,6 +32,8 @@
#include <drm/drm_edid.h> #include <drm/drm_edid.h>
#include <drm/drm_encoder.h> #include <drm/drm_encoder.h>
#include <drm/drm_dp_helper.h> #include <drm/drm_dp_helper.h>
#include <drm/drm_util.h>
#include "nouveau_crtc.h" #include "nouveau_crtc.h"
#include "nouveau_encoder.h" #include "nouveau_encoder.h"
......
...@@ -110,7 +110,4 @@ static inline bool drm_can_sleep(void) ...@@ -110,7 +110,4 @@ static inline bool drm_can_sleep(void)
return true; return true;
} }
/* helper for handling conditionals in various for_each macros */
#define for_each_if(condition) if (!(condition)) {} else
#endif #endif
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#define DRM_ATOMIC_H_ #define DRM_ATOMIC_H_
#include <drm/drm_crtc.h> #include <drm/drm_crtc.h>
#include <drm/drm_util.h>
/** /**
* struct drm_crtc_commit - track modeset commits on a CRTC * struct drm_crtc_commit - track modeset commits on a CRTC
......
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
#include <drm/drm_crtc.h> #include <drm/drm_crtc.h>
#include <drm/drm_modeset_helper_vtables.h> #include <drm/drm_modeset_helper_vtables.h>
#include <drm/drm_modeset_helper.h> #include <drm/drm_modeset_helper.h>
#include <drm/drm_util.h>
struct drm_atomic_state; struct drm_atomic_state;
struct drm_private_obj; struct drm_private_obj;
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
#include <linux/ctype.h> #include <linux/ctype.h>
#include <linux/hdmi.h> #include <linux/hdmi.h>
#include <drm/drm_mode_object.h> #include <drm/drm_mode_object.h>
#include <drm/drm_util.h>
#include <uapi/drm/drm_mode.h> #include <uapi/drm/drm_mode.h>
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
#include <drm/drm_crtc.h> #include <drm/drm_crtc.h>
#include <drm/drm_mode.h> #include <drm/drm_mode.h>
#include <drm/drm_mode_object.h> #include <drm/drm_mode_object.h>
#include <drm/drm_util.h>
struct drm_encoder; struct drm_encoder;
......
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#include <linux/ctype.h> #include <linux/ctype.h>
#include <drm/drm_mode_object.h> #include <drm/drm_mode_object.h>
#include <drm/drm_color_mgmt.h> #include <drm/drm_color_mgmt.h>
#include <drm/drm_util.h>
struct drm_crtc; struct drm_crtc;
struct drm_printer; struct drm_printer;
......
/*
* Internal Header for the Direct Rendering Manager
*
* Copyright 2018 Intel Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice (including the next
* paragraph) shall be included in all copies or substantial portions of the
* Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* VA LINUX SYSTEMS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
#ifndef _DRM_UTIL_H_
#define _DRM_UTIL_H_
/* helper for handling conditionals in various for_each macros */
#define for_each_if(condition) if (!(condition)) {} else
#endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment