Re: [PATCH 1/2] drm: Only #define DEBUG if CONFIG_DYNAMIC_DEBUG is disabled

From: Chris Wilson
Date: Thu Dec 06 2018 - 04:28:43 EST


Quoting Michel DÃnzer (2018-12-06 09:21:40)
> On 2018-12-06 10:12 a.m., Chris Wilson wrote:
> > Quoting Zhang, Jerry(Junwei) (2018-12-06 02:40:42)
> >> On 12/6/18 12:56 AM, Michel DÃnzer wrote:
> >>> From: Michel DÃnzer <michel.daenzer@xxxxxxx>
> >>>
> >>> The following cases are possible for pr_debug():
> >>>
> >>> 1. CONFIG_DYNAMIC_DEBUG disabled
> >>> a) DEBUG not defined: pr_debug() translates to no_printk(...), i.e.
> >>> it never generates any output.
> >>> b) DEBUG defined: pr_debug() translates to printk(KERN_DEBUG ...),
> >>> i.e. it generates output which doesn't appear in dmesg by default,
> >>> can be enabled dynamically.
> >>>
> >>> 2. CONFIG_DYNAMIC_DEBUG enabled: pr_debug() translates to
> >>> dynamic_pr_debug()
> >>> a) DEBUG not defined: dynamic_pr_debug() generates no output by
> >>> default, can be enabled dynamically.
> >>> b) DEBUG defined: dynamic_pr_debug() generates output by default,
> >>> can be disabled dynamically.
> >>>
> >>> The intention for drm_debug_printer() is to generate output which
> >>> doesn't appear in dmesg by default, but can be enabled dynamically, i.e.
> >>> cases 1b) and 2a). However, defining DEBUG unconditionally gave us 2b)
> >>> instead of 2a) with CONFIG_DYNAMIC_DEBUG enabled.
> >>>
> >>> Fixes: 79a5ad2fdb3c ("drm: Enable pr_debug() for drm_printer")
> >>> Signed-off-by: Michel DÃnzer <michel.daenzer@xxxxxxx>
> >> Reviewed-by: Junwei Zhang <Jerry.Zhang@xxxxxxx>
> >
> > At the cost of 1a? Nah.
>
> We still #define DEBUG if CONFIG_DYNAMIC_DEBUG isn't defined, so it's
> still 1b), not 1a).

I completely fluffed my reading of ifndef.

#if !IS_ENABLED(CONFIG_DYNAMIC_DEBUG)
-Chris