drm/i915: move printing and load error inject to i915_utils.[ch]

Seems like a better fit. Reduce clutter in i915_drv.[ch].

Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/bc458fa5e62fc8dae46216666f64ed6976fafaee.1565271681.git.jani.nikula@intel.com
This commit is contained in:
Jani Nikula
2019-08-08 16:42:43 +03:00
parent 0a2ecbe5a9
commit 358c855cb6
5 changed files with 109 additions and 97 deletions

View File

@@ -31,6 +31,8 @@
#include <linux/types.h>
#include <linux/workqueue.h>
struct drm_i915_private;
#undef WARN_ON
/* Many gcc seem to no see through this and fall over :( */
#if 0
@@ -49,6 +51,34 @@
#define MISSING_CASE(x) WARN(1, "Missing case (%s == %ld)\n", \
__stringify(x), (long)(x))
void __printf(3, 4)
__i915_printk(struct drm_i915_private *dev_priv, const char *level,
const char *fmt, ...);
#define i915_report_error(dev_priv, fmt, ...) \
__i915_printk(dev_priv, KERN_ERR, fmt, ##__VA_ARGS__)
#if IS_ENABLED(CONFIG_DRM_I915_DEBUG)
int __i915_inject_load_error(struct drm_i915_private *i915, int err,
const char *func, int line);
#define i915_inject_load_error(_i915, _err) \
__i915_inject_load_error((_i915), (_err), __func__, __LINE__)
bool i915_error_injected(void);
#else
#define i915_inject_load_error(_i915, _err) 0
#define i915_error_injected() false
#endif
#define i915_inject_probe_failure(i915) i915_inject_load_error((i915), -ENODEV)
#define i915_probe_error(i915, fmt, ...) \
__i915_printk(i915, i915_error_injected() ? KERN_DEBUG : KERN_ERR, \
fmt, ##__VA_ARGS__)
#if defined(GCC_VERSION) && GCC_VERSION >= 70000
#define add_overflows_t(T, A, B) \
__builtin_add_overflow_p((A), (B), (T)0)