aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-4.19/950-0366-ASoC-tlv320aic32x4-Restructure-set_dai_sysclk.patch
diff options
context:
space:
mode:
authorÁlvaro Fernández Rojas <noltari@gmail.com>2019-12-23 13:42:55 +0100
committerÁlvaro Fernández Rojas <noltari@gmail.com>2019-12-24 18:49:44 +0100
commit67dcc43f3a22dc3a7ac07a7065971b426feeb043 (patch)
tree0b647356dce45d2c79fd46cf201daa5089cc0934 /target/linux/brcm2708/patches-4.19/950-0366-ASoC-tlv320aic32x4-Restructure-set_dai_sysclk.patch
parent47a93a810f78adce5a130d287f82b28e9b54313c (diff)
downloadupstream-67dcc43f3a22dc3a7ac07a7065971b426feeb043.tar.gz
upstream-67dcc43f3a22dc3a7ac07a7065971b426feeb043.tar.bz2
upstream-67dcc43f3a22dc3a7ac07a7065971b426feeb043.zip
brcm2708: organize kernel patches
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/brcm2708/patches-4.19/950-0366-ASoC-tlv320aic32x4-Restructure-set_dai_sysclk.patch')
-rw-r--r--target/linux/brcm2708/patches-4.19/950-0366-ASoC-tlv320aic32x4-Restructure-set_dai_sysclk.patch51
1 files changed, 51 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.19/950-0366-ASoC-tlv320aic32x4-Restructure-set_dai_sysclk.patch b/target/linux/brcm2708/patches-4.19/950-0366-ASoC-tlv320aic32x4-Restructure-set_dai_sysclk.patch
new file mode 100644
index 0000000000..5caebcb27d
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.19/950-0366-ASoC-tlv320aic32x4-Restructure-set_dai_sysclk.patch
@@ -0,0 +1,51 @@
+From 5ec6ed3e423878cf975a955c8796c2cdb10b5ca7 Mon Sep 17 00:00:00 2001
+From: Annaliese McDermond <nh6z@nh6z.net>
+Date: Thu, 21 Mar 2019 17:58:52 -0700
+Subject: [PATCH] ASoC: tlv320aic32x4: Restructure set_dai_sysclk
+
+commit aa6a60f7be925210d5156f0e8025f3afe1f4f54d upstream.
+
+The sysclk is now managed by the CCF. Change this function
+to merely find the system clock and set it using
+clk_set_rate.
+
+Signed-off-by: Annaliese McDermond <nh6z@nh6z.net>
+Signed-off-by: Mark Brown <broonie@kernel.org>
+---
+ sound/soc/codecs/tlv320aic32x4.c | 17 ++++++-----------
+ 1 file changed, 6 insertions(+), 11 deletions(-)
+
+--- a/sound/soc/codecs/tlv320aic32x4.c
++++ b/sound/soc/codecs/tlv320aic32x4.c
+@@ -49,7 +49,6 @@
+
+ struct aic32x4_priv {
+ struct regmap *regmap;
+- u32 sysclk;
+ u32 power_cfg;
+ u32 micpga_routing;
+ bool swapdacs;
+@@ -569,17 +568,13 @@ static int aic32x4_set_dai_sysclk(struct
+ int clk_id, unsigned int freq, int dir)
+ {
+ struct snd_soc_component *component = codec_dai->component;
+- struct aic32x4_priv *aic32x4 = snd_soc_component_get_drvdata(component);
++ struct clk *mclk;
++ struct clk *pll;
+
+- switch (freq) {
+- case 12000000:
+- case 24000000:
+- case 25000000:
+- aic32x4->sysclk = freq;
+- return 0;
+- }
+- printk(KERN_ERR "aic32x4: invalid frequency to set DAI system clock\n");
+- return -EINVAL;
++ pll = devm_clk_get(component->dev, "pll");
++ mclk = clk_get_parent(pll);
++
++ return clk_set_rate(mclk, freq);
+ }
+
+ static int aic32x4_set_dai_fmt(struct snd_soc_dai *codec_dai, unsigned int fmt)