linux: update to linux-3.2.23

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2012-07-16 09:55:49 +02:00
parent 49933d49fb
commit 0bc3310e88
32 changed files with 1007 additions and 747 deletions

View File

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="linux"
PKG_VERSION="3.2.22"
PKG_VERSION="3.2.23"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -1,63 +0,0 @@
From d0735c7d129d35bd91ba1c2c5b5a5201ed4a6c37 Mon Sep 17 00:00:00 2001
From: Arne Fitzenreiter <arne.fitzenreiter@ipfire.org>
Date: Wed, 6 Jun 2012 08:02:10 +0200
Subject: [PATCH] bcm2835-ctl: fix alsamixer control.
alsamixer read the volume for the screen controller so we had to
scale the chipvol back to db for reading.
---
sound/arm/bcm2835-ctl.c | 22 ++++++++++++++++------
1 file changed, 16 insertions(+), 6 deletions(-)
diff --git a/sound/arm/bcm2835-ctl.c b/sound/arm/bcm2835-ctl.c
index c0546e35..828a820 100755
--- a/sound/arm/bcm2835-ctl.c
+++ b/sound/arm/bcm2835-ctl.c
@@ -33,6 +33,19 @@
#include "bcm2835.h"
+
+/* functions to convert alsa to chip volume and back. */
+int alsa2chip(int vol)
+{
+ return -((vol << 8) / 100);
+}
+
+int chip2alsa(int vol)
+{
+ return -((vol * 100) >> 8);
+}
+
+
static int snd_bcm2835_ctl_info(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_info *uinfo)
{
@@ -64,7 +77,7 @@ static int snd_bcm2835_ctl_get(struct snd_kcontrol *kcontrol,
BUG_ON(!chip && !(chip->avail_substreams & AVAIL_SUBSTREAMS_MASK));
if (kcontrol->private_value == PCM_PLAYBACK_VOLUME)
- ucontrol->value.integer.value[0] = chip->volume;
+ ucontrol->value.integer.value[0] = chip2alsa(chip->volume);
else if (kcontrol->private_value == PCM_PLAYBACK_MUTE)
ucontrol->value.integer.value[0] = chip->mute;
else if (kcontrol->private_value == PCM_PLAYBACK_DEVICE)
@@ -85,13 +98,10 @@ static int snd_bcm2835_ctl_put(struct snd_kcontrol *kcontrol,
changed = 1;
}
if (changed
- || (ucontrol->value.integer.value[0] != chip->volume)) {
- int atten;
+ || (ucontrol->value.integer.value[0] != chip2alsa(chip->volume))) {
- chip->volume = ucontrol->value.integer.value[0];
+ chip->volume = alsa2chip(ucontrol->value.integer.value[0]);
changed = 1;
- atten = -((chip->volume << 8) / 100);
- chip->volume = atten;
}
} else if (kcontrol->private_value == PCM_PLAYBACK_MUTE) {
--
1.7.10

View File

@ -1,26 +0,0 @@
From 829da61c0229c0734a109339f5de308bf8205bf6 Mon Sep 17 00:00:00 2001
From: Arne Fitzenreiter <arne.fitzenreiter@ipfire.org>
Date: Wed, 6 Jun 2012 08:06:15 +0200
Subject: [PATCH] bcm2835-ctl: limit maximal volume to 4db.
it makes no sense to set 23.04db as maximum volume since around 3db it start to cliping. So with 4db the alsamixer is much better to control. (86% is 0db)
---
sound/arm/bcm2835-ctl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/arm/bcm2835-ctl.c b/sound/arm/bcm2835-ctl.c
index 828a820..f901ddd 100755
--- a/sound/arm/bcm2835-ctl.c
+++ b/sound/arm/bcm2835-ctl.c
@@ -53,7 +53,7 @@ static int snd_bcm2835_ctl_info(struct snd_kcontrol *kcontrol,
uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER;
uinfo->count = 1;
uinfo->value.integer.min = -10240;
- uinfo->value.integer.max = 2303;
+ uinfo->value.integer.max = 400; /* 2303 */
} else if (kcontrol->private_value == PCM_PLAYBACK_MUTE) {
uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER;
uinfo->count = 1;
--
1.7.10