On Fri, Dec 18, 2015 at 02:27:27PM +0200, Joonas Lahtinen wrote: > Using __stringify(x) instead of #x adds support for macros as > a parameter and compile-time concatenation reduces the runtime > overhead. > > Slightly increases the .text size but should not matter. > > v2: > - Define I915_STATE_WARN_ON though I915_STATE_WARN > (Bikeshed inspiration by Chris) > > v3: > - More specific commit message > > v4: > - Do not directly pass arbitary string as format, instead > guard with "%s" (Dave) > > Cc: Rob Clark <robdclark@xxxxxxxxx> > Cc: Dave Gordon <david.s.gordon@xxxxxxxxx> > Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> (v3) > Acked-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > Signed-off-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Both patches merged to dinq, thanks. -Daniel > --- > drivers/gpu/drm/i915/i915_drv.h | 14 ++++---------- > 1 file changed, 4 insertions(+), 10 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h > index 5a5a3e0..664ceb4 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), "%s", "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), "%s", "WARN_ON_ONCE(" __stringify(x) ")") > > #define MISSING_CASE(x) WARN(1, "Missing switch case (%lu) in %s\n", \ > (long) (x), __func__); > @@ -93,14 +93,8 @@ > unlikely(__ret_warn_on); \ > }) > > -#define I915_STATE_WARN_ON(condition) ({ \ > - int __ret_warn_on = !!(condition); \ > - if (unlikely(__ret_warn_on)) \ > - if (!WARN(i915.verbose_state_checks, \ > - "WARN_ON(" #condition ")\n")) \ > - DRM_ERROR("WARN_ON(" #condition ")\n"); \ > - unlikely(__ret_warn_on); \ > -}) > +#define I915_STATE_WARN_ON(x) \ > + I915_STATE_WARN((x), "%s", "WARN_ON(" __stringify(x) ")") > > static inline const char *yesno(bool v) > { > -- > 2.4.3 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx