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 <robdcl...@gmail.com>
> Acked-by: Daniel Vetter <daniel.vet...@ffwll.ch>
> Signed-off-by: Joonas Lahtinen <joonas.lahti...@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

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to