On Mon, Jul 15, 2013 at 04:53:46PM +0200, Richard Genoud wrote:
2013/7/12 Mark Brown broonie@kernel.org:
This isn't going to work with systems which have a variable clock as the input to the CODEC. If it's imposing constraints the driver needs to allow setting the clock to zero as a way of removing constraints (and any existing drivers should be updated to do this if needed).
Maybe I'm wrong, but I didn't find any system using variable clock with this codec.
The driver should be written with that possibility in mind even if there were no users; it only takes a couple of lines of code.
The sam9g20ek (soc/atmel/sam9g20_wm8731.c) is not using a crystal, but it's using a fixed clock anyway. But there's soc/pxa/corgi.c and soc/pxa/poodle.c that puzzle me. They seems to use a crystal, but they are setting a different sysclk depending on the rate. That seems wrong, but as I'm a newbie in ASoC...
Note that the CPU is clock master for those - it's going to be outputting a clock based on the sample rate selected automatically. These boards would be broken by your change as it stands.