summaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-3.14/0050-Fix-volsw_range-functions-so-SOC_DOUBLE_R_RANGE_TLV-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-3.14/0050-Fix-volsw_range-functions-so-SOC_DOUBLE_R_RANGE_TLV-.patch')
-rw-r--r--target/linux/brcm2708/patches-3.14/0050-Fix-volsw_range-functions-so-SOC_DOUBLE_R_RANGE_TLV-.patch73
1 files changed, 0 insertions, 73 deletions
diff --git a/target/linux/brcm2708/patches-3.14/0050-Fix-volsw_range-functions-so-SOC_DOUBLE_R_RANGE_TLV-.patch b/target/linux/brcm2708/patches-3.14/0050-Fix-volsw_range-functions-so-SOC_DOUBLE_R_RANGE_TLV-.patch
deleted file mode 100644
index de076303e3..0000000000
--- a/target/linux/brcm2708/patches-3.14/0050-Fix-volsw_range-functions-so-SOC_DOUBLE_R_RANGE_TLV-.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From a46efd685fc6c9676b68f02e8ef12c5821809364 Mon Sep 17 00:00:00 2001
-From: Howard Mitchell <hm@hmbedded.co.uk>
-Date: Fri, 28 Mar 2014 16:27:57 +0000
-Subject: [PATCH 50/54] Fix volsw_range functions so SOC_DOUBLE_R_RANGE_TLV
- works.
-
-This is so that the correct rabge of values as specified
-with the SOC_DOUBLE_R_RANGE_TLV macro are sent to the
-hardware for both the normal and invert cases.
----
- sound/soc/soc-core.c | 22 ++++++++++------------
- 1 file changed, 10 insertions(+), 12 deletions(-)
-
---- a/sound/soc/soc-core.c
-+++ b/sound/soc/soc-core.c
-@@ -3038,8 +3038,8 @@ int snd_soc_info_volsw_range(struct snd_
-
- uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER;
- uinfo->count = snd_soc_volsw_is_stereo(mc) ? 2 : 1;
-- uinfo->value.integer.min = 0;
-- uinfo->value.integer.max = platform_max - min;
-+ uinfo->value.integer.min = min;
-+ uinfo->value.integer.max = platform_max;
-
- return 0;
- }
-@@ -3070,9 +3070,10 @@ int snd_soc_put_volsw_range(struct snd_k
- unsigned int val, val_mask;
- int ret;
-
-- val = ((ucontrol->value.integer.value[0] + min) & mask);
- if (invert)
-- val = max - val;
-+ val = ((max - ucontrol->value.integer.value[0] + min) & mask);
-+ else
-+ val = (ucontrol->value.integer.value[0] & mask);
- val_mask = mask << shift;
- val = val << shift;
-
-@@ -3081,9 +3082,10 @@ int snd_soc_put_volsw_range(struct snd_k
- return ret;
-
- if (snd_soc_volsw_is_stereo(mc)) {
-- val = ((ucontrol->value.integer.value[1] + min) & mask);
- if (invert)
-- val = max - val;
-+ val = ((max - ucontrol->value.integer.value[1] + min) & mask);
-+ else
-+ val = (ucontrol->value.integer.value[1] & mask);
- val_mask = mask << shift;
- val = val << shift;
-
-@@ -3121,18 +3123,14 @@ int snd_soc_get_volsw_range(struct snd_k
- (snd_soc_read(codec, reg) >> shift) & mask;
- if (invert)
- ucontrol->value.integer.value[0] =
-- max - ucontrol->value.integer.value[0];
-- ucontrol->value.integer.value[0] =
-- ucontrol->value.integer.value[0] - min;
-+ max - ucontrol->value.integer.value[0] + min;
-
- if (snd_soc_volsw_is_stereo(mc)) {
- ucontrol->value.integer.value[1] =
- (snd_soc_read(codec, rreg) >> shift) & mask;
- if (invert)
- ucontrol->value.integer.value[1] =
-- max - ucontrol->value.integer.value[1];
-- ucontrol->value.integer.value[1] =
-- ucontrol->value.integer.value[1] - min;
-+ max - ucontrol->value.integer.value[1] + min;
- }
-
- return 0;