On Thu, Jan 09, 2014 at 03:47:52PM +0800, Bard Liao wrote:
+unsigned rt5670_pdm1_read(struct snd_soc_codec *codec, unsigned int +reg) {
+EXPORT_SYMBOL(rt5670_pdm1_read);
Why is this exported at all and why is it exported non-GPL?
If a pdm device connect to RT5670, it may need to be controlled by RT5670's pdm read/write commands. I will export it with GPL.
Please provide more detail on this. Why would a generic PDM device have specific hooks into this driver?
- if (rt5670->pdata.asrc_en) {
snd_soc_dapm_new_controls(&codec->dapm, rt5670_asrc_widgets,
ARRAY_SIZE(rt5670_dapm_widgets));
snd_soc_dapm_add_routes(&codec->dapm, rt5670_asrc_routes,
ARRAY_SIZE(rt5670_dapm_routes));
- }
Why is this configured in platform data?
Usually, we don't enable ASRC function. But in some platforms, they will need to enable ASRC function to get clock properly. And I think this is not needed to configure in run time.
That's not going to be true in the general case, for example systems that support both narrow band and wide band might switch between them.