Message ID | 1450380351-28397-2-git-send-email-joonas.lahtinen@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Dec 17, 2015 at 09:25:46PM +0200, Joonas Lahtinen wrote: > Using __stringify(x) instead of #x adds support for macros as > a parameter and reduces runtime overhead. > > Slightly increases the .text size but should not matter. > > Cc: Rob Clark <robdclark@gmail.com> > Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> > Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> > --- > drivers/gpu/drm/i915/i915_drv.h | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h > index 1d28d90..fe3e76d 100644 > --- a/drivers/gpu/drm/i915/i915_drv.h > +++ b/drivers/gpu/drm/i915/i915_drv.h > @@ -69,11 +69,11 @@ > BUILD_BUG_ON(__i915_warn_cond); \ > WARN(__i915_warn_cond, "WARN_ON(" #x ")"); }) > #else > -#define WARN_ON(x) WARN((x), "WARN_ON(%s)", #x ) > +#define WARN_ON(x) WARN((x), "WARN_ON(" __stringify(x) ")") > #endif > > #undef WARN_ON_ONCE > -#define WARN_ON_ONCE(x) WARN_ONCE((x), "WARN_ON_ONCE(%s)", #x ) > +#define WARN_ON_ONCE(x) WARN_ONCE((x), "WARN_ON_ONCE(" __stringify(x) ")") > > #define MISSING_CASE(x) WARN(1, "Missing switch case (%lu) in %s\n", \ > (long) (x), __func__); > @@ -97,12 +97,14 @@ > }) > > #define I915_STATE_WARN_ON(condition) ({ \ > + static const char __warn_on_txt[] = \ > + "WARN_ON(" __stringify(condition) ")\n"; \ > int __ret_warn_on = !!(condition); \ > if (unlikely(__ret_warn_on)) { \ > if (i915.verbose_state_checks) \ > - WARN(1, "WARN_ON(" #condition ")\n"); \ > + WARN(1, __warn_on_txt); \ > else \ > - DRM_ERROR("WARN_ON(" #condition ")\n"); \ > + DRM_ERROR(__warn_on_txt); \ > } \ Bikeshedding, sorry. #define I915_STATE_WARN_ON(condition) ({ \ int __ret_warn_on = !!(condition); \ if (unlikely(__ret_warn_on)) { \ static const char __warn_on_txt[] = \ "WARN_ON(" __stringify(condition) ")\n"; \ if (!WARN(i915.verbose_state_checks, __warn_on_txt); \ DRM_ERROR(__warn_on_txt); \ } \ unlikely(__ret_warn_on); \ }) -Chris
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index 1d28d90..fe3e76d 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -69,11 +69,11 @@ BUILD_BUG_ON(__i915_warn_cond); \ WARN(__i915_warn_cond, "WARN_ON(" #x ")"); }) #else -#define WARN_ON(x) WARN((x), "WARN_ON(%s)", #x ) +#define WARN_ON(x) WARN((x), "WARN_ON(" __stringify(x) ")") #endif #undef WARN_ON_ONCE -#define WARN_ON_ONCE(x) WARN_ONCE((x), "WARN_ON_ONCE(%s)", #x ) +#define WARN_ON_ONCE(x) WARN_ONCE((x), "WARN_ON_ONCE(" __stringify(x) ")") #define MISSING_CASE(x) WARN(1, "Missing switch case (%lu) in %s\n", \ (long) (x), __func__); @@ -97,12 +97,14 @@ }) #define I915_STATE_WARN_ON(condition) ({ \ + static const char __warn_on_txt[] = \ + "WARN_ON(" __stringify(condition) ")\n"; \ int __ret_warn_on = !!(condition); \ if (unlikely(__ret_warn_on)) { \ if (i915.verbose_state_checks) \ - WARN(1, "WARN_ON(" #condition ")\n"); \ + WARN(1, __warn_on_txt); \ else \ - DRM_ERROR("WARN_ON(" #condition ")\n"); \ + DRM_ERROR(__warn_on_txt); \ } \ unlikely(__ret_warn_on); \ })