
On 04/29/2011 01:17 AM, Mark Brown wrote:
On Fri, Apr 29, 2011 at 01:14:00AM +0200, Lars-Peter Clausen wrote:
I know this isn't optimal, but would it be accepable to have a SND_SOC_DAPM_STREAM(sname) widget, where the power_check function would just consider stream's state, so we can get rid of the special casing without having to mess with the codec drivers to much?
I was expecting that the core would just autogenerate some widgets for the streams if it saw a CODEC appearing with no widgets in its context after probe. No code change to the CODEC drivers at all.
Hm, I guess that would work as well. Though it would require that a codec driver does not add DAPM widgets after it has been probed.
In principle a stream widget is fine, but you'd need ones for capture and playback paths and they'd need to also function as pins so they can be joined up with the outside world (which now we have multi-component is a big reason to push back on things that don't do DAPM; it's not purely about the annoyance of having to bodge around them).
My idea about the stream widget was, that it takes a stream name and is not connected anywhere. If the stream is active, that widget ensures, that the context gets powered, so it would basically mimic the current behaviour for widget-less contexts. If we wanted to use it to connect to the outside world, we'd probably be better off using the already existing widgets. For example ADC, DAC widgets with DAPM_NOPM.
- Lars