From 659266685b4358ded2f779b29d34166432108f71 Mon Sep 17 00:00:00 2001 From: Bud Liviu-Alexandru Date: Thu, 5 Aug 2021 00:26:42 +0300 Subject: [PATCH] topology: remove side effects from macro definitions This commit fixes the issue mentioned in #4583. A temporary definition is introduced that takes it's value from "CHANNELS_MIN" if it is already defined, otherwise it is set to a default value. This temporary is used instead of "CHANNELS_MIN" for the rest of the file. This avoids having the macro defined in files where it shouldn't be. In order to be completely sure it avoids side effects this temporary is undefined after it is no longer needed. Signed-off-by: Bud Liviu-Alexandru --- tools/topology/topology1/sof/pipe-passthrough-capture.m4 | 8 +++++--- tools/topology/topology1/sof/pipe-passthrough-playback.m4 | 8 +++++--- tools/topology/topology1/sof/pipe-volume-playback.m4 | 7 ++++--- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/tools/topology/topology1/sof/pipe-passthrough-capture.m4 b/tools/topology/topology1/sof/pipe-passthrough-capture.m4 index 766edc53c..e9cafc57d 100644 --- a/tools/topology/topology1/sof/pipe-passthrough-capture.m4 +++ b/tools/topology/topology1/sof/pipe-passthrough-capture.m4 @@ -39,11 +39,13 @@ P_GRAPH(pipe-passthrough-capture, PIPELINE_ID, indir(`define', concat(`PIPELINE_SINK_', PIPELINE_ID), N_BUFFER(0)) indir(`define', concat(`PIPELINE_PCM_', PIPELINE_ID), Passthrough Capture PCM_ID) -ifdef(`CHANNELS_MIN',`', -`define(CHANNELS_MIN, `PIPELINE_CHANNELS')') +ifdef(`CHANNELS_MIN',`define(`LOCAL_CHANNELS_MIN', `CHANNELS_MIN')', +`define(`LOCAL_CHANNELS_MIN' `PIPELINE_CHANNELS')') # # PCM Configuration # -PCM_CAPABILITIES(Passthrough Capture PCM_ID, COMP_FORMAT_NAME(PIPELINE_FORMAT), PCM_MIN_RATE, PCM_MAX_RATE, CHANNELS_MIN, PIPELINE_CHANNELS, 2, 16, 192, 16384, 65536, 65536) +PCM_CAPABILITIES(Passthrough Capture PCM_ID, COMP_FORMAT_NAME(PIPELINE_FORMAT), PCM_MIN_RATE, PCM_MAX_RATE, LOCAL_CHANNELS_MIN, PIPELINE_CHANNELS, 2, 16, 192, 16384, 65536, 65536) + +undefine(`LOCAL_CHANNELS_MIN') diff --git a/tools/topology/topology1/sof/pipe-passthrough-playback.m4 b/tools/topology/topology1/sof/pipe-passthrough-playback.m4 index a857631b8..b505a128b 100644 --- a/tools/topology/topology1/sof/pipe-passthrough-playback.m4 +++ b/tools/topology/topology1/sof/pipe-passthrough-playback.m4 @@ -39,11 +39,13 @@ P_GRAPH(pipe-passthrough-playback, PIPELINE_ID, indir(`define', concat(`PIPELINE_SOURCE_', PIPELINE_ID), N_BUFFER(0)) indir(`define', concat(`PIPELINE_PCM_', PIPELINE_ID), Passthrough Playback PCM_ID) -ifdef(`CHANNELS_MIN',`', -`define(CHANNELS_MIN, `2')') +ifdef(`CHANNELS_MIN',`define(`LOCAL_CHANNELS_MIN', `CHANNELS_MIN')', +`define(`LOCAL_CHANNELS_MIN', `2')') # # PCM Configuration # -PCM_CAPABILITIES(Passthrough Playback PCM_ID, COMP_FORMAT_NAME(PIPELINE_FORMAT), PCM_MIN_RATE, PCM_MAX_RATE, CHANNELS_MIN, PIPELINE_CHANNELS, 2, 16, 192, 16384, 65536, 65536) +PCM_CAPABILITIES(Passthrough Playback PCM_ID, COMP_FORMAT_NAME(PIPELINE_FORMAT), PCM_MIN_RATE, PCM_MAX_RATE, LOCAL_CHANNELS_MIN, PIPELINE_CHANNELS, 2, 16, 192, 16384, 65536, 65536) + +undefine(`LOCAL_CHANNELS_MIN') diff --git a/tools/topology/topology1/sof/pipe-volume-playback.m4 b/tools/topology/topology1/sof/pipe-volume-playback.m4 index 100ab91ea..93c515e4a 100644 --- a/tools/topology/topology1/sof/pipe-volume-playback.m4 +++ b/tools/topology/topology1/sof/pipe-volume-playback.m4 @@ -75,14 +75,15 @@ P_GRAPH(pipe-volume-playback, PIPELINE_ID, indir(`define', concat(`PIPELINE_SOURCE_', PIPELINE_ID), N_BUFFER(1)) indir(`define', concat(`PIPELINE_PCM_', PIPELINE_ID), Passthrough Playback PCM_ID) -ifdef(`CHANNELS_MIN',`define(TCHANNELS_MIN, `CHANNELS_MIN')', -`define(TCHANNELS_MIN, `2')') +ifdef(`CHANNELS_MIN',`define(`LOCAL_CHANNELS_MIN', `CHANNELS_MIN')', +`define(`LOCAL_CHANNELS_MIN', `2')') # # PCM Configuration # -PCM_CAPABILITIES(Passthrough Playback PCM_ID, CAPABILITY_FORMAT_NAME(PIPELINE_FORMAT), PCM_MIN_RATE, PCM_MAX_RATE, TCHANNELS_MIN, PIPELINE_CHANNELS, 2, 16, 192, 16384, 65536, 65536) +PCM_CAPABILITIES(Passthrough Playback PCM_ID, CAPABILITY_FORMAT_NAME(PIPELINE_FORMAT), PCM_MIN_RATE, PCM_MAX_RATE, LOCAL_CHANNELS_MIN, PIPELINE_CHANNELS, 2, 16, 192, 16384, 65536, 65536) +undefine(`LOCAL_CHANNELS_MIN') undefine(`DEF_PGA_TOKENS') undefine(`DEF_PGA_CONF')