ASoC: fsl_sai: Add clock controls for SAI
authorNicolin Chen <Guangyu.Chen@freescale.com>
Thu, 10 Apr 2014 15:26:15 +0000 (23:26 +0800)
committerMark Brown <broonie@linaro.org>
Mon, 14 Apr 2014 16:26:05 +0000 (17:26 +0100)
commitca3e35c7a37cb59b12a1839d03c621cf8fa9a3d9
treed616ca42084424a545063bd3cd528eb78490563b
parentc754064453e0d48043bd6a111f5c1f8ef1b75f7e
ASoC: fsl_sai: Add clock controls for SAI

The SAI mainly has the following clocks:
  bus clock
    control and configure registers and to generate synchronous
    interrupts and DMA requests.

  mclk1, mclk2, mclk3
    to generate the bit clock when the receiver or transmitter is
    configured for an internally generated bit clock.

So this patch adds these clocks and their clock controls to the driver.

[ To concern the old DTB cases, I've added a bit of extra code to make
  the driver compatible with them. And by marking clock NULL if failed
  to get, the clk_prepare() or clk_get_rate() would easily return 0
  so no further path should be broken. -- by Nicolin ]

Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
Acked-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
Documentation/devicetree/bindings/sound/fsl-sai.txt
sound/soc/fsl/fsl_sai.c
sound/soc/fsl/fsl_sai.h