ASoC: sgtl5000: Do a sanity check on SYS_MCLK
Subsystems (3)
Fabio Estevam
maintainerPATCH 1/1 ASoC: sgtl5000: Do a sanity check on SYS_MCLK
From: Fabio Estevam <[email protected]>
According to the sgtl5000 datasheet the valid range for SYS_MCLK is from 8 to 27 MHz.
Add a sanity check prior to enabling SYS_MCLK.
Signed-off-by Fabio Estevam <[email protected]>
--- sound/soc/codecs/sgtl5000.c | 9 +++++++++ 1 file changed, 9 insertions(+)
sound/soc/codecs/sgtl5000.c +9 -0
@@ -1414,6 +1414,7 @@ static int sgtl5000_i2c_probe(struct i2c_client *client, {struct sgtl5000_priv *sgtl5000;int ret, reg, rev; +unsigned int mclk; sgtl5000 =devm_kzalloc (&client->dev,sizeof (struct sgtl5000_priv ),GFP_KERNEL );
@@ -1437,6 +1438,14 @@ static int sgtl5000_i2c_probe(struct i2c_client *client,return ret; } +/* SGTL5000 SYS_MCLK should be between 8 and 27 MHz */ + mclk =clk_get_rate (sgtl5000->mclk); +if (mclk <8000000 || mclk >27000000 ) { +dev_err (&client->dev,"Invalid SYS_CLK frequency: %u.%03uMHz\n" , + mclk /1000000 , mclk /1000 %1000 ); +return -EINVAL ; + } + ret =clk_prepare_enable (sgtl5000->mclk);if (ret)return ret;
Signature · 1 line
1.9.1
Quoted 4 lines · Fabio Estevam
From: Fabio Estevam <[email protected]>
According to the sgtl5000 datasheet the valid range for
SYS_MCLKis from 8 to 27 MHz.
Applied, thanks.