topology: pre-processor: Add debug print helpers

Add a couple of helper functions to print debug messages
and the generated config.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
Ranjani Sridharan 2021-03-27 12:33:33 -07:00 committed by Jaroslav Kysela
parent a82058e6ec
commit d508b1682a
3 changed files with 54 additions and 1 deletions

View file

@ -10,7 +10,7 @@ endif
alsatplg_SOURCES = topology.c pre-processor.c alsatplg_SOURCES = topology.c pre-processor.c
noinst_HEADERS = topology.h noinst_HEADERS = topology.h pre-processor.h
AM_CPPFLAGS = \ AM_CPPFLAGS = \
-Wall -I$(top_srcdir)/include -Wall -I$(top_srcdir)/include

View file

@ -17,6 +17,8 @@
The full GNU General Public License is included in this distribution The full GNU General Public License is included in this distribution
in the file called LICENSE.GPL. in the file called LICENSE.GPL.
*/ */
#include <stdarg.h>
#include <stdio.h> #include <stdio.h>
#include <stddef.h> #include <stddef.h>
#include <string.h> #include <string.h>
@ -27,6 +29,29 @@
#include <alsa/conf.h> #include <alsa/conf.h>
#include "gettext.h" #include "gettext.h"
#include "topology.h" #include "topology.h"
#include "pre-processor.h"
#ifdef TPLG_DEBUG
void tplg_pp_debug(char *fmt, ...)
{
char msg[DEBUG_MAX_LENGTH];
va_list va;
va_start(va, fmt);
vsnprintf(msg, DEBUG_MAX_LENGTH, fmt, va);
va_end(va);
fprintf(stdout, "%s\n", msg);
}
void tplg_pp_config_debug(struct tplg_pre_processor *tplg_pp, snd_config_t *cfg)
{
snd_config_save(cfg, tplg_pp->dbg_output);
}
#else
void tplg_pp_debug(char *fmt, ...) {}
void tplg_pp_config_debug(struct tplg_pre_processor *tplg_pp, snd_config_t *cfg){}
#endif
static int pre_process_config(struct tplg_pre_processor *tplg_pp, snd_config_t *cfg) static int pre_process_config(struct tplg_pre_processor *tplg_pp, snd_config_t *cfg)
{ {

28
topology/pre-processor.h Normal file
View file

@ -0,0 +1,28 @@
/*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef __PRE_PROCESSOR_H
#define __PRE_PROCESSOR_H
#include <stdarg.h>
#include "topology.h"
#define DEBUG_MAX_LENGTH 256
/* debug helpers */
void tplg_pp_debug(char *fmt, ...);
void tplg_pp_config_debug(struct tplg_pre_processor *tplg_pp, snd_config_t *cfg);
#endif