#endif
 
 /* see SOF_DBG_ flags */
-int sof_core_debug =  IS_ENABLED(CONFIG_SND_SOC_SOF_DEBUG_ENABLE_FIRMWARE_TRACE);
+static int sof_core_debug =  IS_ENABLED(CONFIG_SND_SOC_SOF_DEBUG_ENABLE_FIRMWARE_TRACE);
 module_param_named(sof_debug, sof_core_debug, int, 0444);
 MODULE_PARM_DESC(sof_debug, "SOF core debug options (0x0 all off)");
 
                goto fw_run_err;
        }
 
-       if (sof_core_debug & SOF_DBG_ENABLE_TRACE) {
+       if (sof_debug_check_flag(SOF_DBG_ENABLE_TRACE)) {
                sdev->dtrace_is_supported = true;
 
                /* init DMA trace */
 
 
 void snd_sof_dsp_dbg_dump(struct snd_sof_dev *sdev, u32 flags)
 {
-       bool print_all = !!(sof_core_debug & SOF_DBG_PRINT_ALL_DUMPS);
+       bool print_all = sof_debug_check_flag(SOF_DBG_PRINT_ALL_DUMPS);
 
        if (flags & SOF_DBG_DUMP_OPTIONAL && !print_all)
                return;
                dev_err(sdev->dev, "------------[ IPC dump start ]------------\n");
                sof_ops(sdev)->ipc_dump(sdev);
                dev_err(sdev->dev, "------------[ IPC dump end ]------------\n");
-               if (!(sof_core_debug & SOF_DBG_PRINT_ALL_DUMPS))
+               if (!sof_debug_check_flag(SOF_DBG_PRINT_ALL_DUMPS))
                        sdev->ipc_dump_printed = true;
        }
 }
 void snd_sof_handle_fw_exception(struct snd_sof_dev *sdev)
 {
        if (IS_ENABLED(CONFIG_SND_SOC_SOF_DEBUG_RETAIN_DSP_CONTEXT) ||
-           (sof_core_debug & SOF_DBG_RETAIN_CTX)) {
+           sof_debug_check_flag(SOF_DBG_RETAIN_CTX)) {
                /* should we prevent DSP entering D3 ? */
                if (!sdev->ipc_dump_printed)
                        dev_info(sdev->dev,
 
 #define SOF_DBG_DUMP_OPTIONAL          BIT(4) /* only dump if SOF_DBG_PRINT_ALL_DUMPS is set */
 
 /* global debug state set by SOF_DBG_ flags */
-extern int sof_core_debug;
 bool sof_debug_check_flag(int mask);
 
 /* max BARs mmaped devices can use */
 
                goto err;
        }
 
-       if (sof_core_debug & SOF_DBG_DISABLE_MULTICORE)
+       if (sof_debug_check_flag(SOF_DBG_DISABLE_MULTICORE))
                pipeline->core = SOF_DSP_PRIMARY_CORE;
 
-       if (sof_core_debug & SOF_DBG_DYNAMIC_PIPELINES_OVERRIDE)
-               swidget->dynamic_pipeline_widget = sof_core_debug &
-                       SOF_DBG_DYNAMIC_PIPELINES_ENABLE;
+       if (sof_debug_check_flag(SOF_DBG_DYNAMIC_PIPELINES_OVERRIDE))
+               swidget->dynamic_pipeline_widget =
+                       sof_debug_check_flag(SOF_DBG_DYNAMIC_PIPELINES_ENABLE);
 
        dev_dbg(scomp->dev, "pipeline %s: period %d pri %d mips %d core %d frames %d dynamic %d\n",
                swidget->widget->name, pipeline->period, pipeline->priority,
                return ret;
        }
 
-       if (sof_core_debug & SOF_DBG_DISABLE_MULTICORE)
+       if (sof_debug_check_flag(SOF_DBG_DISABLE_MULTICORE))
                comp.core = SOF_DSP_PRIMARY_CORE;
 
        swidget->core = comp.core;
        }
 
        /* verify topology components loading including dynamic pipelines */
-       if (sof_core_debug & SOF_DBG_VERIFY_TPLG) {
+       if (sof_debug_check_flag(SOF_DBG_VERIFY_TPLG)) {
                ret = sof_set_up_pipelines(sdev, true);
                if (ret < 0) {
                        dev_err(sdev->dev, "error: topology verification failed %d\n", ret);