Hi
I'm tryng to understand serveral links between asoc structures to avoid bad codec/machine driver implementation (TEF663x for iMX6).
I saw that several structures have pointer to structures which one could have pointer to the first one, and serveral fields are duplicated.
Some examples
snd_soc_codec_driver->probe snd_soc_codec_driver->snd_soc_dapm_widget
but
snd_soc_codec_driver->snd_soc_component_driver->probe (duplicated?) snd_soc_codec_driver->snd_soc_component_driver->snd_soc_dapm_widget (duplicated?)
and snd_soc_codec_driver->snd_soc_component_driver->snd_soc_dapm_widget->snd_soc_dapm_context-> snd_soc_component (hey is recursive???!!!!!)
I would like figure out why several fields are duplicated in structures that could be nested. Is a compatibility issue?
thanks in advance