aic23: omap-alsa-aic23.c clockrate config fix.
PATCH 2/3 aic23: omap-alsa-aic23.c clockrate config fix.
Do not try to change the clockrate if it is already ok. This fixes the driver for omap-innovator which uses fixed clockrate.
Signed-off-by Mika Laitio <[email protected]>
Quoted 1 line
From nobody Mon Sep 17 00:00:00 2001
From: Mika Laitio <[email protected]>
Date: Thu May 25 23:24:16 2006 +0300
Subject: [PATCH 2/3] aic23: omap-alsa-aic23.c clockrate config fix.
Signed-off-by Mika Laitio <[email protected]>
---
sound/arm/omap/omap-alsa-aic23.c | 16 ++++++++++------ 1 files changed, 10 insertions(+), 6 deletions(-)
48b9327b4d5932cf2f18c8e529e3401b2e926b84
sound/arm/omap/omap-alsa-aic23.c +10 -6
@@ -212,6 +212,8 @@ void aic23_clock_setup(void)*/ int aic23_clock_on (void ) { +uint curRate; +if (clk_get_usecount (aic23_mclk) >0 ) {/* MCLK is already in use */ printk(KERN_WARNING
@@ -219,13 +221,14 @@ int aic23_clock_on(void) (uint )clk_get_rate (aic23_mclk), CODEC_CLOCK); } - -if (clk_set_rate (aic23_mclk,CODEC_CLOCK )) { -printk (KERN_ERR -"Cannot set MCLK for AIC23 CODEC\n" ); -return -ECANCELED ; + curRate = (uint )clk_get_rate (aic23_mclk); +if (curRate !=CODEC_CLOCK ) { +if (clk_set_rate (aic23_mclk,CODEC_CLOCK )) { +printk (KERN_ERR +"Cannot set MCLK for AIC23 CODEC\n" ); +return -ECANCELED ; + } } -clk_enable (aic23_mclk); printk(KERN_DEBUG
@@ -239,6 +242,7 @@ int aic23_clock_on(void) ~ADC_OFF & ~MIC_OFF & ~LINE_OFF);return 0 ; } +/* * Do some sanity check, turn clock off and then turn * codec audio off
Signature · 1 line
1.2.2