From: Gerd Knorr <kraxel@bytesex.org>

Trivial patch, $subject says all, just a new keytable.


---

 25-akpm/drivers/media/video/ir-kbd-i2c.c |   40 ++++++++++++++++++++++++++++++-
 1 files changed, 39 insertions(+), 1 deletion(-)

diff -puN drivers/media/video/ir-kbd-i2c.c~v4l-pv951-remote-support drivers/media/video/ir-kbd-i2c.c
--- 25/drivers/media/video/ir-kbd-i2c.c~v4l-pv951-remote-support	Mon Apr  5 14:46:28 2004
+++ 25-akpm/drivers/media/video/ir-kbd-i2c.c	Mon Apr  5 14:46:28 2004
@@ -41,6 +41,44 @@
 
 #include <media/ir-common.h>
 
+/* Mark Phalan <phalanm@o2.ie> */
+static IR_KEYTAB_TYPE ir_codes_pv951[IR_KEYTAB_SIZE] = {
+	[  0 ] = KEY_KP0,
+	[  1 ] = KEY_KP1,
+	[  2 ] = KEY_KP2,
+	[  3 ] = KEY_KP3,
+	[  4 ] = KEY_KP4,
+	[  5 ] = KEY_KP5,
+	[  6 ] = KEY_KP6,
+	[  7 ] = KEY_KP7,
+	[  8 ] = KEY_KP8,
+	[  9 ] = KEY_KP9,
+
+	[ 18 ] = KEY_POWER,
+	[ 16 ] = KEY_MUTE,
+	[ 31 ] = KEY_VOLUMEDOWN,
+	[ 27 ] = KEY_VOLUMEUP,
+	[ 26 ] = KEY_CHANNELUP,
+	[ 30 ] = KEY_CHANNELDOWN,
+	[ 14 ] = KEY_PAGEUP,
+	[ 29 ] = KEY_PAGEDOWN,
+	[ 19 ] = KEY_SOUND,
+
+	[ 24 ] = KEY_KPPLUSMINUS,	// CH +/-
+	[ 22 ] = KEY_SUBTITLE,		// CC
+	[ 13 ] = KEY_TEXT,		// TTX
+	[ 11 ] = KEY_TV,		// AIR/CBL
+	[ 17 ] = KEY_PC,		// PC/TV
+	[ 23 ] = KEY_OK,		// CH RTN
+	[ 25 ] = KEY_MODE, 		// FUNC
+	[ 12 ] = KEY_SEARCH, 		// AUTOSCAN
+
+	/* Not sure what to do with these ones! */
+	[ 15 ] = KEY_SELECT, 		// SOURCE
+	[ 10 ] = KEY_KPPLUS,		// +100
+	[ 20 ] = KEY_KPEQUAL,		// SYNC
+};
+
 struct IR;
 struct IR {
 	struct i2c_client      c;
@@ -247,7 +285,7 @@ static int ir_attach(struct i2c_adapter 
 		name        = "PV951";
 		ir->get_key = get_key_pv951;
 		ir_type     = IR_TYPE_OTHER;
-		ir_codes    = ir_codes_empty;
+		ir_codes    = ir_codes_pv951;
 		break;
 	case 0x18:
 	case 0x1a:

_