Skip to content

Commit

Permalink
ASoC: wm2000: Use clock API integration to configure MCLK divisor
Browse files Browse the repository at this point in the history
Since we are now using the clock API integration to manage MCLK we can now
use clk_get_rate() to determine if we need to divide MCLK without relying
on platform data.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
  • Loading branch information
Mark Brown committed Dec 24, 2012
1 parent 514cfd6 commit d61100b
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 6 deletions.
3 changes: 0 additions & 3 deletions include/sound/wm2000.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,6 @@ struct wm2000_platform_data {
/** Filename for system-specific image to download to device. */
const char *download_file;

/** Divide MCLK by 2 for system clock? */
unsigned int mclkdiv2:1;

/** Disable speech clarity enhancement, for use when an
* external algorithm is used. */
unsigned int speech_enh_disable:1;
Expand Down
6 changes: 3 additions & 3 deletions sound/soc/codecs/wm2000.c
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,6 @@ struct wm2000_priv {
unsigned int anc_eng_ena:1;
unsigned int spk_ena:1;

unsigned int mclk_div:1;
unsigned int speech_clarity:1;

int anc_download_size;
Expand Down Expand Up @@ -133,6 +132,7 @@ static int wm2000_poll_bit(struct i2c_client *i2c,
static int wm2000_power_up(struct i2c_client *i2c, int analogue)
{
struct wm2000_priv *wm2000 = dev_get_drvdata(&i2c->dev);
unsigned long rate;
int ret;

BUG_ON(wm2000->anc_mode != ANC_OFF);
Expand All @@ -145,7 +145,8 @@ static int wm2000_power_up(struct i2c_client *i2c, int analogue)
return ret;
}

if (!wm2000->mclk_div) {
rate = clk_get_rate(wm2000->mclk);
if (rate <= 13500000) {
dev_dbg(&i2c->dev, "Disabling MCLK divider\n");
wm2000_write(i2c, WM2000_REG_SYS_CTL2,
WM2000_MCLK_DIV2_ENA_CLR);
Expand Down Expand Up @@ -847,7 +848,6 @@ static int wm2000_i2c_probe(struct i2c_client *i2c,
filename = "wm2000_anc.bin";
pdata = dev_get_platdata(&i2c->dev);
if (pdata) {
wm2000->mclk_div = pdata->mclkdiv2;
wm2000->speech_clarity = !pdata->speech_enh_disable;

if (pdata->download_file)
Expand Down

0 comments on commit d61100b

Please sign in to comment.