Skip to contentSkip to conversation

ASoC: rt5677: Convert to use module_i2c_driver

PATCH Applied Axel Lin 3 participants 7 messages Jun 3, 2014 – Jun 9, 2014

Subsystems (3)
lore
Share & tools
lore

Axel Lin

author
#0 lore raw

PATCH 1/3 ASoC: rt5677: Convert to use module_i2c_driver

---
 sound/soc/codecs/rt5677.c | 13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)
sound/soc/codecs/rt5677.c +1 -12
index 833231e..60fff7f 100644
@@ -3480,18 +3480,7 @@ static struct i2c_driver rt5677_i2c_driver = {
 	.remove   = rt5677_i2c_remove,
 	.id_table = rt5677_i2c_id,
 };
-
-static int __init rt5677_modinit(void)
-{
-	return i2c_add_driver(&rt5677_i2c_driver);
-}
-module_init(rt5677_modinit);
-
-static void __exit rt5677_modexit(void)
-{
-	i2c_del_driver(&rt5677_i2c_driver);
-}
-module_exit(rt5677_modexit);
+module_i2c_driver(rt5677_i2c_driver);
 
 MODULE_DESCRIPTION("ASoC RT5677 driver");
 MODULE_AUTHOR("Oder Chiou <[email protected]>");
Signature · 1 line
1.8.3.2
author
#1 lore raw

PATCH 2/3 ASoC: rt5677: Convert to use rl6231_get_clk_info

---
 sound/soc/codecs/Kconfig  |  2 ++
 sound/soc/codecs/rt5677.c | 18 ++----------------
 2 files changed, 4 insertions(+), 16 deletions(-)
sound/soc/codecs/Kconfig +2 -0
index cbfa1e1..9d88845 100644
@@ -445,9 +445,11 @@ config SND_SOC_RL6231
 	default y if SND_SOC_RT5640=y
 	default y if SND_SOC_RT5645=y
 	default y if SND_SOC_RT5651=y
+	default y if SND_SOC_RT5677=y
 	default m if SND_SOC_RT5640=m
 	default m if SND_SOC_RT5645=m
 	default m if SND_SOC_RT5651=m
+	default m if SND_SOC_RT5677=m
 
 config SND_SOC_RT5631
 	tristate
sound/soc/codecs/rt5677.c +1 -0
index 60fff7f..1ffc689 100644
@@ -27,6 +27,7 @@
 #include <sound/initval.h>
 #include <sound/tlv.h>
 
+#include "rl6231.h"
 #include "rt5677.h"
 
 #define RT5677_DEVICE_ID 0x6327
@@ -2798,21 +2799,6 @@ static const struct snd_soc_dapm_route

rt5677_dapm_routes[] = {
{ "PDM2R", NULL, "PDM2 R Mux" },
};

-static int get_clk_info(int sclk, int rate)
-{
- int i, pd[] = {1, 2, 3, 4, 6, 8, 12, 16};
-
- if (sclk <= 0 || rate <= 0)
- return -EINVAL;
-
- rate = rate << 8;
- for (i = 0; i < ARRAY_SIZE(pd); i++)
- if (sclk == rate * pd[i])
- return i;
-
- return -EINVAL;
-}
-
static int rt5677_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params, struct snd_soc_dai *dai)
{
@@ -2822,7 +2808,7 @@ static int rt5677_hw_params(struct snd_pcm_substream *substream,
int pre_div, bclk_ms, frame_size;

rt5677->lrck[dai->id] = params_rate(params);
- pre_div = get_clk_info(rt5677->sysclk, rt5677->lrck[dai->id]);
+ pre_div = rl6231_get_clk_info(rt5677->sysclk, rt5677->lrck[dai->id]);
if (pre_div < 0) {
dev_err(codec->dev, "Unsupported clock setting\n"); return -EINVAL;

Signature · 1 line
1.8.3.2
maintainer
#2 lore raw

Re: [PATCH 2/3] ASoC: rt5677: Convert to use rl6231_get_clk_info

Review static const struct snd_soc_dapm_route · line 2799

Quoted 3 lines · Axel Lin

#define RT5677_DEVICE_ID 0x6327

(quoted diff) +0 -0
@@ -2798,21 +2799,6 @@ static const struct snd_soc_dapm_route
 rt5677_dapm_routes[] = {

Your mailer has corrupted this patch by word wrapping the line above - can you please check and resend?

author
#3 lore raw

PATCH 3/3 ASoC: rt5677: Convert to use rl6231_calc_dmic_clk

In reply to Axel Lin
---
 sound/soc/codecs/rt5677.c | 16 +---------------
 1 file changed, 1 insertion(+), 15 deletions(-)
sound/soc/codecs/rt5677.c +1 -15
index 1ffc689..45f99a8 100644
@@ -637,21 +637,7 @@ static int set_dmic_clk(struct snd_soc_dapm_widget *w,
 {
 	struct snd_soc_codec *codec = w->codec;
 	struct rt5677_priv *rt5677 = snd_soc_codec_get_drvdata(codec);
-	int div[] = {2, 3, 4, 6, 8, 12}, idx = -EINVAL, i;
-	int rate, red, bound, temp;
-
-	rate = rt5677->sysclk;
-	red = 3000000 * 12;
-	for (i = 0; i < ARRAY_SIZE(div); i++) {
-		bound = div[i] * 3000000;
-		if (rate > bound)
-			continue;
-		temp = bound - rate;
-		if (temp < red) {
-			red = temp;
-			idx = i;
-		}
-	}
+	int idx = rl6231_calc_dmic_clk(rt5677->sysclk);
 
 	if (idx < 0)
 		dev_err(codec->dev, "Failed to set DMIC clock\n");
Signature · 1 line
1.8.3.2
maintainer Tested-by on v1 1/3
#5 lore raw
In reply to Axel Lin
Quoted 36 lines

-----Original Message-----
From: Axel Lin [mailto:[email protected]]
Sent: Tuesday, June 03, 2014 10:57 AM
To: Mark Brown
Cc: Oder Chiou; Liam Girdwood; [email protected]
Subject: [PATCH 1/3] ASoC: rt5677: Convert to use module_i2c_driver

---
 sound/soc/codecs/rt5677.c | 13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)
sound/soc/codecs/rt5677.c index renamed from sound/soc/codecs/rt5677.c +0 -0

833231e..60fff7f 100644

sound/soc/codecs/rt5677.c +1 -12
@@ -3480,18 +3480,7 @@ static struct i2c_driver rt5677_i2c_driver = {
 	.remove   = rt5677_i2c_remove,
 	.id_table = rt5677_i2c_id,
 };
-
-static int __init rt5677_modinit(void)
-{
-	return i2c_add_driver(&rt5677_i2c_driver);
-}
-module_init(rt5677_modinit);
-
-static void __exit rt5677_modexit(void) -{
-	i2c_del_driver(&rt5677_i2c_driver);
-}
-module_exit(rt5677_modexit);
+module_i2c_driver(rt5677_i2c_driver);
 
 MODULE_DESCRIPTION("ASoC RT5677 driver");  MODULE_AUTHOR("Oder
 Chiou <[email protected]>");
--
Quoted 3 lines

1.8.3.2

Thanks