-----Original Message----- From: Takashi Iwai [mailto:tiwai@suse.de] Sent: Saturday, November 5, 2016 11:46 PM
+/* parse a flag bit of the given mask */ static int +parse_flag(snd_config_t *n, unsigned int mask_in,
unsigned int *mask, unsigned int *flags) {
- const char *val = NULL;
- if (snd_config_get_string(n, &val) < 0)
return -EINVAL;
- *mask |= mask_in;
- if (strcmp(val, "true") == 0)
*flags |= mask_in;
- else
*flags &= ~mask_in;
This can be simplified with snd_config_get_bool().
Okay, I'll fix it in my later patches. Thank you so much for the review!
There will be ~15 patches left for topology user space. I'll split into 2 series.
Regards Mengdong
thanks,
Takashi
- return 0;
+}
/* Parse pcm (for front end DAI & DAI link) */ int tplg_parse_pcm(snd_tplg_t *tplg, snd_config_t *cfg, void *private ATTRIBUTE_UNUSED) @@ -430,6
+448,34
@@ int tplg_parse_pcm(snd_tplg_t *tplg, return err; continue; }
/* flags */
if (strcmp(id, "symmetric_rates") == 0) {
err = parse_flag(n,
SND_SOC_TPLG_LNK_FLGBIT_SYMMETRIC_RATES,
&pcm->flag_mask, &pcm->flags);
if (err < 0)
return err;
continue;
}
if (strcmp(id, "symmetric_channels") == 0) {
err = parse_flag(n,
SND_SOC_TPLG_LNK_FLGBIT_SYMMETRIC_CHANNELS,
&pcm->flag_mask, &pcm->flags);
if (err < 0)
return err;
continue;
}
if (strcmp(id, "symmetric_sample_bits") == 0) {
err = parse_flag(n,
SND_SOC_TPLG_LNK_FLGBIT_SYMMETRIC_SAMPLEBITS,
&pcm->flag_mask, &pcm->flags);
if (err < 0)
return err;
continue;
}
}
return 0;
@@ -610,6 +656,9 @@ int tplg_add_pcm_object(snd_tplg_t *tplg,
snd_tplg_obj_template_t *t)
tplg_add_stream_caps(&pcm->caps[i], pcm_tpl-
caps[i]); }
- pcm->flag_mask = pcm_tpl->flag_mask;
- pcm->flags = pcm_tpl->flags;
- pcm->num_streams = pcm_tpl->num_streams; for (i = 0; i < pcm_tpl->num_streams; i++) tplg_add_stream_object(&pcm->stream[i], &pcm_tpl-
stream[i]);
2.7.4