[alsa-devel] [PATCH v3] ASoC: wm8960: Let wm8960 codec driver manage its own MCLK

Charles Keepax ckeepax at opensource.wolfsonmicro.com
Fri Dec 5 18:01:56 CET 2014


On Thu, Dec 04, 2014 at 08:41:19PM +0800, Zidan Wang wrote:
> When we want to use wm8960 codec, we should enable its MCLK in machine
> driver. It's reasonable for wm8960 codec driver to manage its own MCLK to
> save power.
> 
> If platform data is not supplied, we will get MCLK from device tree and check
> the return code to handle probe deferral.
> 
> Enable runtime power management, and auto enable/disable MCLK in pm_runtime
> resume and suspend. When wm8960 codec is being used, it will triger resume()
> to enable MCLK. When codec is not being used, it will triger suspend() to
> disable MCLK.
> 
> Signed-off-by: Zidan Wang <b50113 at freescale.com>
> ---
>  include/sound/wm8960.h    |  1 +
>  sound/soc/codecs/wm8960.c | 56 ++++++++++++++++++++++++++++++++++++++++++++---
>  2 files changed, 54 insertions(+), 3 deletions(-)
> 
> diff --git a/include/sound/wm8960.h b/include/sound/wm8960.h
> index e8ce8ee..d7e84ed 100644
> --- a/include/sound/wm8960.h
> +++ b/include/sound/wm8960.h
> @@ -16,6 +16,7 @@
>  #define WM8960_DRES_MAX  3
>  
>  struct wm8960_data {
> +	struct clk *mclk;

Is this really pdata? Would the pdata entry to locate the clock
not be a string holding the clock name that you call clk_get on,
rather than a clk pointer itself? Probably this should go in
wm8960_priv instead.

Thanks,
Charles


More information about the Alsa-devel mailing list