Re: sony-laptop driver: Volume keys on Sony Vaio TX3 don't work

From: John Hughes
Date: Sun Oct 16 2011 - 13:45:01 EST


On 10/16/2011 03:27 PM, John Hughes wrote:
On 10/16/2011 01:11 PM, John Hughes wrote:
Even though sony-laptop has code to handle the volume-up/volume-down keys they don't work. Pressing volume-down gets treated as SONYPI_EVENT_PKEY_P1 and volume-up as SONYPI_EVENT_PKEY_P2.

And of course this bug has already been fixed. Was looking at an old version, 2.6.32, sorry.

Must learn to check before writing.

No, the problem has not been fixed in head.

Here's a patch that makes the volume keys work for me. Tested on current git

# uname -a
Linux carbon 3.1.0-rc9+ #2 SMP Sun Oct 16 19:14:15 CEST 2011 i686 GNU/Linux


diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c
index bbd182e..ff14b61 100644
--- a/drivers/platform/x86/sony-laptop.c
+++ b/drivers/platform/x86/sony-laptop.c
@@ -2065,8 +2065,8 @@ static struct sonypi_event sonypi_batteryev[] = {

/* The set of possible volume events */
static struct sonypi_event sonypi_volumeev[] = {
- { 0x01, SONYPI_EVENT_VOLUME_INC_PRESSED },
- { 0x02, SONYPI_EVENT_VOLUME_DEC_PRESSED },
+ { 0x01, SONYPI_EVENT_VOLUME_DEC_PRESSED },
+ { 0x02, SONYPI_EVENT_VOLUME_INC_PRESSED },
{ 0, 0 }
};

@@ -2113,10 +2113,10 @@ static struct sonypi_eventtypes type3_events[] = {
{ 0x31, SONYPI_MEMORYSTICK_MASK, sonypi_memorystickev },
{ 0x41, SONYPI_BATTERY_MASK, sonypi_batteryev },
{ 0x31, SONYPI_PKEY_MASK, sonypi_pkeyev },
+ { 0x05, SONYPI_PKEY_MASK, sonypi_volumeev },
{ 0x05, SONYPI_PKEY_MASK, sonypi_pkeyev },
{ 0x05, SONYPI_ZOOM_MASK, sonypi_zoomev },
{ 0x05, SONYPI_CAPTURE_MASK, sonypi_captureev },
- { 0x05, SONYPI_PKEY_MASK, sonypi_volumeev },
{ 0x05, SONYPI_PKEY_MASK, sonypi_brightnessev },
{ 0 },
};