Re: [PATCH] coresight: cpu-debug: control default behavior via Kconfig

From: Mathieu Poirier
Date: Mon Sep 06 2021 - 11:37:49 EST


Hi Brian,

On Fri, Sep 03, 2021 at 06:28:54PM -0700, Brian Norris wrote:
> Debugfs is nice and so are module parameters, but
> * debugfs doesn't take effect early (e.g., if drivers are locking up
> before user space gets anywhere)
> * module parameters either add a lot to the kernel command line, or
> else take effect late as well (if you build =m and configure in
> /etc/modprobe.d/)
>
> So in the same spirit as these
> CONFIG_PANIC_ON_OOPS (also available via cmdline or modparam)
> CONFIG_INTEL_IOMMU_DEFAULT_ON (also available via cmdline)
> add a new Kconfig option.
>
> Module parameters and debugfs can still override.
>
> Signed-off-by: Brian Norris <briannorris@xxxxxxxxxxxx>
> ---
>
> drivers/hwtracing/coresight/Kconfig | 13 +++++++++++++
> drivers/hwtracing/coresight/coresight-cpu-debug.c | 2 +-
> 2 files changed, 14 insertions(+), 1 deletion(-)
>

I have applied this patch to my local tree. I will make that tree public when
next week when 5.15-rc1 has been released.

Thanks,
Mathieu

> diff --git a/drivers/hwtracing/coresight/Kconfig b/drivers/hwtracing/coresight/Kconfig
> index f026e5c0e777..8b638eb3cb7d 100644
> --- a/drivers/hwtracing/coresight/Kconfig
> +++ b/drivers/hwtracing/coresight/Kconfig
> @@ -150,6 +150,19 @@ config CORESIGHT_CPU_DEBUG
> To compile this driver as a module, choose M here: the
> module will be called coresight-cpu-debug.
>
> +config CORESIGHT_CPU_DEBUG_DEFAULT_ON
> + bool "Enable CoreSight CPU Debug by default
> + depends on CORESIGHT_CPU_DEBUG
> + help
> + Say Y here to enable the CoreSight Debug panic-debug by default. This
> + can also be enabled via debugfs, but this ensures the debug feature
> + is enabled as early as possible.
> +
> + Has the same effect as setting coresight_cpu_debug.enable=1 on the
> + kernel command line.
> +
> + Say N if unsure.
> +
> config CORESIGHT_CTI
> tristate "CoreSight Cross Trigger Interface (CTI) driver"
> depends on ARM || ARM64
> diff --git a/drivers/hwtracing/coresight/coresight-cpu-debug.c b/drivers/hwtracing/coresight/coresight-cpu-debug.c
> index 00de46565bc4..8845ec4b4402 100644
> --- a/drivers/hwtracing/coresight/coresight-cpu-debug.c
> +++ b/drivers/hwtracing/coresight/coresight-cpu-debug.c
> @@ -105,7 +105,7 @@ static DEFINE_PER_CPU(struct debug_drvdata *, debug_drvdata);
> static int debug_count;
> static struct dentry *debug_debugfs_dir;
>
> -static bool debug_enable;
> +static bool debug_enable = IS_ENABLED(CONFIG_CORESIGHT_CPU_DEBUG_DEFAULT_ON);
> module_param_named(enable, debug_enable, bool, 0600);
> MODULE_PARM_DESC(enable, "Control to enable coresight CPU debug functionality");
>
> --
> 2.33.0.153.gba50c8fa24-goog
>