summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--linux/drivers/media/common/Makefile1
-rw-r--r--linux/drivers/media/common/ir-functions.c (renamed from linux/drivers/media/common/ir-common.c)3
-rw-r--r--linux/drivers/media/common/ir-keymaps.c (renamed from linux/include/media/ir-keymaps.h)136
-rw-r--r--linux/drivers/media/video/bttv-input.c3
-rw-r--r--linux/drivers/media/video/cx88/cx88-input.c3
-rw-r--r--linux/drivers/media/video/em28xx/em28xx-input.c1
-rw-r--r--linux/drivers/media/video/ir-kbd-i2c.c3
-rw-r--r--linux/drivers/media/video/saa7134/saa7134-input.c3
-rw-r--r--linux/include/media/ir-common.h38
-rw-r--r--v4l/ChangeLog23
-rw-r--r--v4l/Makefile5
11 files changed, 171 insertions, 48 deletions
diff --git a/linux/drivers/media/common/Makefile b/linux/drivers/media/common/Makefile
index bd458cb9b..61b89617a 100644
--- a/linux/drivers/media/common/Makefile
+++ b/linux/drivers/media/common/Makefile
@@ -1,5 +1,6 @@
saa7146-objs := saa7146_i2c.o saa7146_core.o
saa7146_vv-objs := saa7146_vv_ksyms.o saa7146_fops.o saa7146_video.o saa7146_hlp.o saa7146_vbi.o
+ir-common-objs := ir-functions.o ir-keymaps.o
obj-$(CONFIG_VIDEO_SAA7146) += saa7146.o
obj-$(CONFIG_VIDEO_SAA7146_VV) += saa7146_vv.o
diff --git a/linux/drivers/media/common/ir-common.c b/linux/drivers/media/common/ir-functions.c
index 1dbd6fa4b..8b7dd6e3e 100644
--- a/linux/drivers/media/common/ir-common.c
+++ b/linux/drivers/media/common/ir-functions.c
@@ -1,5 +1,5 @@
/*
- * $Id: ir-common.c,v 1.19 2006/01/17 16:18:40 rmcc Exp $
+ * $Id: ir-functions.c,v 1.1 2006/01/17 20:05:21 rmcc Exp $
*
* some common structs and functions to handle infrared remotes via
* input layer ...
@@ -26,7 +26,6 @@
#include <linux/moduleparam.h>
#include <linux/string.h>
#include <media/ir-common.h>
-#include <media/ir-keymaps.h>
/* -------------------------------------------------------------------------- */
diff --git a/linux/include/media/ir-keymaps.h b/linux/drivers/media/common/ir-keymaps.c
index a3f134d91..b86454642 100644
--- a/linux/include/media/ir-keymaps.h
+++ b/linux/drivers/media/common/ir-keymaps.c
@@ -1,6 +1,6 @@
/*
- $Id: ir-keymaps.h,v 1.2 2006/01/17 16:31:19 rmcc Exp $
+ $Id: ir-keymaps.c,v 1.1 2006/01/17 20:05:21 rmcc Exp $
Keytables for supported remote controls. This file is part of
video4linux.
@@ -20,13 +20,20 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+#include <linux/module.h>
+#include <linux/moduleparam.h>
+
+#include <linux/input.h>
+#include <media/ir-common.h>
/* empty keytable, can be used as placeholder for not-yet created keytables */
-IR_KEYTAB_TYPE ir_codes_empty[IR_KEYTAB_SIZE] = {
+static IR_KEYTAB_TYPE ir_codes_empty[IR_KEYTAB_SIZE] = {
[ 42 ] = KEY_COFFEE,
};
-IR_KEYTAB_TYPE ir_codes_avermedia[IR_KEYTAB_SIZE] = {
+EXPORT_SYMBOL_GPL(ir_codes_empty);
+
+static IR_KEYTAB_TYPE ir_codes_avermedia[IR_KEYTAB_SIZE] = {
[ 34 ] = KEY_0,
[ 40 ] = KEY_1,
[ 24 ] = KEY_2,
@@ -68,8 +75,10 @@ IR_KEYTAB_TYPE ir_codes_avermedia[IR_KEYTAB_SIZE] = {
[ 1 ] = KEY_BLUE, // unmarked
};
+EXPORT_SYMBOL_GPL(ir_codes_avermedia);
+
/* Matt Jesson <dvb@jesson.eclipse.co.uk */
-IR_KEYTAB_TYPE ir_codes_avermedia_dvbt[IR_KEYTAB_SIZE] = {
+static IR_KEYTAB_TYPE ir_codes_avermedia_dvbt[IR_KEYTAB_SIZE] = {
[ 0x28 ] = KEY_0, //'0' / 'enter'
[ 0x22 ] = KEY_1, //'1'
[ 0x12 ] = KEY_2, //'2' / 'up arrow'
@@ -107,8 +116,10 @@ IR_KEYTAB_TYPE ir_codes_avermedia_dvbt[IR_KEYTAB_SIZE] = {
[ 0x3e ] = KEY_VOLUMEUP, // 'volume +'
};
+EXPORT_SYMBOL_GPL(ir_codes_avermedia_dvbt);
+
/* Attila Kondoros <attila.kondoros@chello.hu> */
-IR_KEYTAB_TYPE ir_codes_apac_viewcomp[IR_KEYTAB_SIZE] = {
+static IR_KEYTAB_TYPE ir_codes_apac_viewcomp[IR_KEYTAB_SIZE] = {
[ 1 ] = KEY_1,
[ 2 ] = KEY_2,
@@ -148,9 +159,11 @@ IR_KEYTAB_TYPE ir_codes_apac_viewcomp[IR_KEYTAB_SIZE] = {
[ 24 ] = KEY_KPMINUS // fine tune <<<<
};
+EXPORT_SYMBOL_GPL(ir_codes_apac_viewcomp);
+
/* ---------------------------------------------------------------------- */
-IR_KEYTAB_TYPE ir_codes_conceptronic[IR_KEYTAB_SIZE] = {
+static IR_KEYTAB_TYPE ir_codes_conceptronic[IR_KEYTAB_SIZE] = {
[ 30 ] = KEY_POWER, // power
[ 7 ] = KEY_MEDIA, // source
@@ -212,7 +225,9 @@ IR_KEYTAB_TYPE ir_codes_conceptronic[IR_KEYTAB_SIZE] = {
[ 24 ] = KEY_MUTE // mute/unmute
};
-IR_KEYTAB_TYPE ir_codes_nebula[IR_KEYTAB_SIZE] = {
+EXPORT_SYMBOL_GPL(ir_codes_conceptronic);
+
+static IR_KEYTAB_TYPE ir_codes_nebula[IR_KEYTAB_SIZE] = {
[0x00] = KEY_0,
[0x01] = KEY_1,
[0x02] = KEY_2,
@@ -270,8 +285,10 @@ IR_KEYTAB_TYPE ir_codes_nebula[IR_KEYTAB_SIZE] = {
[0x36] = KEY_PC
};
+EXPORT_SYMBOL_GPL(ir_codes_nebula);
+
/* DigitalNow DNTV Live DVB-T Remote */
-IR_KEYTAB_TYPE ir_codes_dntv_live_dvb_t[IR_KEYTAB_SIZE] = {
+static IR_KEYTAB_TYPE ir_codes_dntv_live_dvb_t[IR_KEYTAB_SIZE] = {
[0x00] = KEY_ESC, /* 'go up a level?' */
/* Keys 0 to 9 */
[0x0a] = KEY_0,
@@ -309,10 +326,12 @@ IR_KEYTAB_TYPE ir_codes_dntv_live_dvb_t[IR_KEYTAB_SIZE] = {
[0x1f] = KEY_VOLUMEDOWN,
};
+EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvb_t);
+
/* ---------------------------------------------------------------------- */
/* IO-DATA BCTV7E Remote */
-IR_KEYTAB_TYPE ir_codes_iodata_bctv7e[IR_KEYTAB_SIZE] = {
+static IR_KEYTAB_TYPE ir_codes_iodata_bctv7e[IR_KEYTAB_SIZE] = {
[0x40] = KEY_TV,
[0x20] = KEY_RADIO, /* FM */
[0x60] = KEY_EPG,
@@ -360,10 +379,12 @@ IR_KEYTAB_TYPE ir_codes_iodata_bctv7e[IR_KEYTAB_SIZE] = {
[0x01] = KEY_NEXT, /* skip >| */
};
+EXPORT_SYMBOL_GPL(ir_codes_iodata_bctv7e);
+
/* ---------------------------------------------------------------------- */
/* ADS Tech Instant TV DVB-T PCI Remote */
-IR_KEYTAB_TYPE ir_codes_adstech_dvb_t_pci[IR_KEYTAB_SIZE] = {
+static IR_KEYTAB_TYPE ir_codes_adstech_dvb_t_pci[IR_KEYTAB_SIZE] = {
/* Keys 0 to 9 */
[0x4d] = KEY_0,
[0x57] = KEY_1,
@@ -412,10 +433,12 @@ IR_KEYTAB_TYPE ir_codes_adstech_dvb_t_pci[IR_KEYTAB_SIZE] = {
[0x1c] = KEY_VOLUMEDOWN,
};
+EXPORT_SYMBOL_GPL(ir_codes_adstech_dvb_t_pci);
+
/* ---------------------------------------------------------------------- */
/* MSI TV@nywhere remote */
-IR_KEYTAB_TYPE ir_codes_msi_tvanywhere[IR_KEYTAB_SIZE] = {
+static IR_KEYTAB_TYPE ir_codes_msi_tvanywhere[IR_KEYTAB_SIZE] = {
/* Keys 0 to 9 */
[0x00] = KEY_0,
[0x01] = KEY_1,
@@ -444,10 +467,12 @@ IR_KEYTAB_TYPE ir_codes_msi_tvanywhere[IR_KEYTAB_SIZE] = {
[0x1f] = KEY_VOLUMEDOWN,
};
+EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere);
+
/* ---------------------------------------------------------------------- */
/* Cinergy 1400 DVB-T */
-IR_KEYTAB_TYPE ir_codes_cinergy_1400[IR_KEYTAB_SIZE] = {
+static IR_KEYTAB_TYPE ir_codes_cinergy_1400[IR_KEYTAB_SIZE] = {
[0x01] = KEY_POWER,
[0x02] = KEY_1,
[0x03] = KEY_2,
@@ -491,10 +516,12 @@ IR_KEYTAB_TYPE ir_codes_cinergy_1400[IR_KEYTAB_SIZE] = {
[0x5c] = KEY_NEXT,
};
+EXPORT_SYMBOL_GPL(ir_codes_cinergy_1400);
+
/* ---------------------------------------------------------------------- */
/* AVERTV STUDIO 303 Remote */
-IR_KEYTAB_TYPE ir_codes_avertv_303[IR_KEYTAB_SIZE] = {
+static IR_KEYTAB_TYPE ir_codes_avertv_303[IR_KEYTAB_SIZE] = {
[ 0x2a ] = KEY_1,
[ 0x32 ] = KEY_2,
[ 0x3a ] = KEY_3,
@@ -539,10 +566,12 @@ IR_KEYTAB_TYPE ir_codes_avertv_303[IR_KEYTAB_SIZE] = {
[ 0x1b ] = KEY_UP,
};
+EXPORT_SYMBOL_GPL(ir_codes_avertv_303);
+
/* ---------------------------------------------------------------------- */
/* DigitalNow DNTV Live! DVB-T Pro Remote */
-IR_KEYTAB_TYPE ir_codes_dntv_live_dvbt_pro[IR_KEYTAB_SIZE] = {
+static IR_KEYTAB_TYPE ir_codes_dntv_live_dvbt_pro[IR_KEYTAB_SIZE] = {
[ 0x16 ] = KEY_POWER,
[ 0x5b ] = KEY_HOME,
@@ -599,7 +628,9 @@ IR_KEYTAB_TYPE ir_codes_dntv_live_dvbt_pro[IR_KEYTAB_SIZE] = {
[ 0x5d ] = KEY_BLUE,
};
-IR_KEYTAB_TYPE ir_codes_em_terratec[IR_KEYTAB_SIZE] = {
+EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvbt_pro);
+
+static IR_KEYTAB_TYPE ir_codes_em_terratec[IR_KEYTAB_SIZE] = {
[ 0x01 ] = KEY_CHANNEL,
[ 0x02 ] = KEY_SELECT,
[ 0x03 ] = KEY_MUTE,
@@ -630,7 +661,9 @@ IR_KEYTAB_TYPE ir_codes_em_terratec[IR_KEYTAB_SIZE] = {
[ 0x40 ] = KEY_ZOOM,
};
-IR_KEYTAB_TYPE ir_codes_em_pinnacle_usb[IR_KEYTAB_SIZE] = {
+EXPORT_SYMBOL_GPL(ir_codes_em_terratec);
+
+static IR_KEYTAB_TYPE ir_codes_em_pinnacle_usb[IR_KEYTAB_SIZE] = {
[ 0x3a ] = KEY_0,
[ 0x31 ] = KEY_1,
[ 0x32 ] = KEY_2,
@@ -682,7 +715,9 @@ IR_KEYTAB_TYPE ir_codes_em_pinnacle_usb[IR_KEYTAB_SIZE] = {
[ 0x27 ] = KEY_RECORD,
};
-IR_KEYTAB_TYPE flyvideo_codes[IR_KEYTAB_SIZE] = {
+EXPORT_SYMBOL_GPL(ir_codes_em_pinnacle_usb);
+
+static IR_KEYTAB_TYPE flyvideo_codes[IR_KEYTAB_SIZE] = {
[ 15 ] = KEY_0,
[ 3 ] = KEY_1,
[ 4 ] = KEY_2,
@@ -710,7 +745,9 @@ IR_KEYTAB_TYPE flyvideo_codes[IR_KEYTAB_SIZE] = {
[ 16 ] = KEY_ENTER, // Enter
};
-IR_KEYTAB_TYPE flydvb_codes[IR_KEYTAB_SIZE] = {
+EXPORT_SYMBOL_GPL(flyvideo_codes);
+
+static IR_KEYTAB_TYPE flydvb_codes[IR_KEYTAB_SIZE] = {
[ 1 ] = KEY_ZOOM, // Full Screen
[ 0 ] = KEY_POWER, // Power
@@ -749,7 +786,9 @@ IR_KEYTAB_TYPE flydvb_codes[IR_KEYTAB_SIZE] = {
[ 14 ] = KEY_NEXT, // End >>|
};
-IR_KEYTAB_TYPE cinergy_codes[IR_KEYTAB_SIZE] = {
+EXPORT_SYMBOL_GPL(flydvb_codes);
+
+static IR_KEYTAB_TYPE cinergy_codes[IR_KEYTAB_SIZE] = {
[ 0 ] = KEY_0,
[ 1 ] = KEY_1,
[ 2 ] = KEY_2,
@@ -789,9 +828,11 @@ IR_KEYTAB_TYPE cinergy_codes[IR_KEYTAB_SIZE] = {
[ 0x23 ] = KEY_STOP,
};
+EXPORT_SYMBOL_GPL(cinergy_codes);
+
/* Alfons Geser <a.geser@cox.net>
* updates from Job D. R. Borges <jobdrb@ig.com.br> */
-IR_KEYTAB_TYPE eztv_codes[IR_KEYTAB_SIZE] = {
+static IR_KEYTAB_TYPE eztv_codes[IR_KEYTAB_SIZE] = {
[ 18 ] = KEY_POWER,
[ 1 ] = KEY_TV, // DVR
[ 21 ] = KEY_DVD, // DVD
@@ -846,7 +887,9 @@ IR_KEYTAB_TYPE eztv_codes[IR_KEYTAB_SIZE] = {
[ 33 ] = KEY_DOT, // . (decimal dot)
};
-IR_KEYTAB_TYPE avacssmart_codes[IR_KEYTAB_SIZE] = {
+EXPORT_SYMBOL_GPL(eztv_codes);
+
+static IR_KEYTAB_TYPE avacssmart_codes[IR_KEYTAB_SIZE] = {
[ 30 ] = KEY_POWER, // power
[ 28 ] = KEY_SEARCH, // scan
[ 7 ] = KEY_SELECT, // source
@@ -888,8 +931,10 @@ IR_KEYTAB_TYPE avacssmart_codes[IR_KEYTAB_SIZE] = {
[ 15 ] = KEY_F22, // min
};
+EXPORT_SYMBOL_GPL(avacssmart_codes);
+
/* Alex Hermann <gaaf@gmx.net> */
-IR_KEYTAB_TYPE md2819_codes[IR_KEYTAB_SIZE] = {
+static IR_KEYTAB_TYPE md2819_codes[IR_KEYTAB_SIZE] = {
[ 40 ] = KEY_1,
[ 24 ] = KEY_2,
[ 56 ] = KEY_3,
@@ -935,7 +980,9 @@ IR_KEYTAB_TYPE md2819_codes[IR_KEYTAB_SIZE] = {
[ 49 ] = KEY_CHANNELUP // CHANNEL/PAGE+
};
-IR_KEYTAB_TYPE videomate_tv_pvr_codes[IR_KEYTAB_SIZE] = {
+EXPORT_SYMBOL_GPL(md2819_codes);
+
+static IR_KEYTAB_TYPE videomate_tv_pvr_codes[IR_KEYTAB_SIZE] = {
[ 20 ] = KEY_MUTE,
[ 36 ] = KEY_ZOOM,
@@ -984,6 +1031,8 @@ IR_KEYTAB_TYPE videomate_tv_pvr_codes[IR_KEYTAB_SIZE] = {
[ 33 ] = KEY_SLEEP,
};
+EXPORT_SYMBOL_GPL(videomate_tv_pvr_codes);
+
/* Michael Tokarev <mjt@tls.msk.ru>
http://www.corpit.ru/mjt/beholdTV/remote_control.jpg
keytable is used by MANLI MTV00[12] and BeholdTV 40[13] at
@@ -993,7 +1042,7 @@ IR_KEYTAB_TYPE videomate_tv_pvr_codes[IR_KEYTAB_SIZE] = {
the button labels (several variants when appropriate)
helps to descide which keycodes to assign to the buttons.
*/
-IR_KEYTAB_TYPE manli_codes[IR_KEYTAB_SIZE] = {
+static IR_KEYTAB_TYPE manli_codes[IR_KEYTAB_SIZE] = {
/* 0x1c 0x12 *
* FUNCTION POWER *
@@ -1080,9 +1129,10 @@ IR_KEYTAB_TYPE manli_codes[IR_KEYTAB_SIZE] = {
// 0x1d unused ?
};
+EXPORT_SYMBOL_GPL(manli_codes);
/* Mike Baikov <mike@baikov.com> */
-IR_KEYTAB_TYPE gotview7135_codes[IR_KEYTAB_SIZE] = {
+static IR_KEYTAB_TYPE gotview7135_codes[IR_KEYTAB_SIZE] = {
[ 33 ] = KEY_POWER,
[ 105] = KEY_TV,
@@ -1121,7 +1171,9 @@ IR_KEYTAB_TYPE gotview7135_codes[IR_KEYTAB_SIZE] = {
[ 112] = KEY_F24, /* NORMAL TIMESHIFT */
};
-IR_KEYTAB_TYPE ir_codes_purpletv[IR_KEYTAB_SIZE] = {
+EXPORT_SYMBOL_GPL(gotview7135_codes);
+
+static IR_KEYTAB_TYPE ir_codes_purpletv[IR_KEYTAB_SIZE] = {
[ 0x3 ] = KEY_POWER,
[ 0x6f ] = KEY_MUTE,
[ 0x10 ] = KEY_BACKSPACE, /* Recall */
@@ -1170,10 +1222,12 @@ IR_KEYTAB_TYPE ir_codes_purpletv[IR_KEYTAB_SIZE] = {
};
+EXPORT_SYMBOL_GPL(ir_codes_purpletv);
+
/* Mapping for the 28 key remote control as seen at
http://www.sednacomputer.com/photo/cardbus-tv.jpg
Pavel Mihaylov <bin@bash.info> */
-IR_KEYTAB_TYPE pctv_sedna_codes[IR_KEYTAB_SIZE] = {
+static IR_KEYTAB_TYPE pctv_sedna_codes[IR_KEYTAB_SIZE] = {
[ 0 ] = KEY_0,
[ 1 ] = KEY_1,
[ 2 ] = KEY_2,
@@ -1205,8 +1259,10 @@ IR_KEYTAB_TYPE pctv_sedna_codes[IR_KEYTAB_SIZE] = {
[ 0x1e ] = KEY_PAUSE,
};
+EXPORT_SYMBOL_GPL(pctv_sedna_codes);
+
/* Mark Phalan <phalanm@o2.ie> */
-IR_KEYTAB_TYPE ir_codes_pv951[IR_KEYTAB_SIZE] = {
+static IR_KEYTAB_TYPE ir_codes_pv951[IR_KEYTAB_SIZE] = {
[ 0 ] = KEY_0,
[ 1 ] = KEY_1,
[ 2 ] = KEY_2,
@@ -1244,10 +1300,12 @@ IR_KEYTAB_TYPE ir_codes_pv951[IR_KEYTAB_SIZE] = {
[ 28 ] = KEY_MEDIA, /* PC/TV */
};
+EXPORT_SYMBOL_GPL(ir_codes_pv951);
+
/* generic RC5 keytable */
/* see http://users.pandora.be/nenya/electronics/rc5/codes00.htm */
/* used by old (black) Hauppauge remotes */
-IR_KEYTAB_TYPE ir_codes_rc5_tv[IR_KEYTAB_SIZE] = {
+static IR_KEYTAB_TYPE ir_codes_rc5_tv[IR_KEYTAB_SIZE] = {
/* Keys 0 to 9 */
[ 0x00 ] = KEY_0,
[ 0x01 ] = KEY_1,
@@ -1319,8 +1377,10 @@ IR_KEYTAB_TYPE ir_codes_rc5_tv[IR_KEYTAB_SIZE] = {
#endif
};
+EXPORT_SYMBOL_GPL(ir_codes_rc5_tv);
+
/* Table for Leadtek Winfast Remote Controls - used by both bttv and cx88 */
-IR_KEYTAB_TYPE ir_codes_winfast[IR_KEYTAB_SIZE] = {
+static IR_KEYTAB_TYPE ir_codes_winfast[IR_KEYTAB_SIZE] = {
/* Keys 0 to 9 */
[ 18 ] = KEY_0,
[ 5 ] = KEY_1,
@@ -1380,7 +1440,9 @@ IR_KEYTAB_TYPE ir_codes_winfast[IR_KEYTAB_SIZE] = {
#endif
};
-IR_KEYTAB_TYPE ir_codes_pinnacle[IR_KEYTAB_SIZE] = {
+EXPORT_SYMBOL_GPL(ir_codes_winfast);
+
+static IR_KEYTAB_TYPE ir_codes_pinnacle[IR_KEYTAB_SIZE] = {
[ 0x59 ] = KEY_MUTE,
[ 0x4a ] = KEY_POWER,
@@ -1438,11 +1500,12 @@ IR_KEYTAB_TYPE ir_codes_pinnacle[IR_KEYTAB_SIZE] = {
[ 0x0a ] = KEY_BACKSPACE,
};
+EXPORT_SYMBOL_GPL(ir_codes_pinnacle);
/* Hauppauge: the newer, gray remotes (seems there are multiple
* slightly different versions), shipped with cx88+ivtv cards.
* almost rc5 coding, but some non-standard keys */
-IR_KEYTAB_TYPE ir_codes_hauppauge_new[IR_KEYTAB_SIZE] = {
+static IR_KEYTAB_TYPE ir_codes_hauppauge_new[IR_KEYTAB_SIZE] = {
/* Keys 0 to 9 */
[ 0x00 ] = KEY_0,
[ 0x01 ] = KEY_1,
@@ -1500,7 +1563,9 @@ IR_KEYTAB_TYPE ir_codes_hauppauge_new[IR_KEYTAB_SIZE] = {
[ 0x3d ] = KEY_POWER, /* system power (green button) */
};
-IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE] = {
+EXPORT_SYMBOL_GPL(ir_codes_hauppauge_new);
+
+static IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE] = {
[ 2 ] = KEY_0,
[ 1 ] = KEY_1,
[ 11 ] = KEY_2,
@@ -1532,6 +1597,8 @@ IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE] = {
[ 15 ] = KEY_STOP, /* freeze */
};
+EXPORT_SYMBOL_GPL(ir_codes_pixelview);
+
/* generic RC5 keytable */
/* Used by the Grey/Black Hauppauge remotes */
/* Key data has been compared with the ATi usb remote */
@@ -1539,7 +1606,7 @@ IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE] = {
/* disables half of the keys */
/* J.O. Aho <trizt at iname.com> */
-IR_KEYTAB_TYPE ir_codes_rc5_tv_grey[IR_KEYTAB_SIZE] = {
+static IR_KEYTAB_TYPE ir_codes_rc5_tv_grey[IR_KEYTAB_SIZE] = {
[ 0x00 ] = KEY_0, // 0
[ 0x01 ] = KEY_1, // 1
[ 0x02 ] = KEY_2, // 2
@@ -1577,3 +1644,4 @@ IR_KEYTAB_TYPE ir_codes_rc5_tv_grey[IR_KEYTAB_SIZE] = {
[ 0x3d ] = KEY_ESC, // power (green, left upper corner)
};
+EXPORT_SYMBOL_GPL(ir_codes_rc5_tv_grey);
diff --git a/linux/drivers/media/video/bttv-input.c b/linux/drivers/media/video/bttv-input.c
index c1c641b9a..54e67f5df 100644
--- a/linux/drivers/media/video/bttv-input.c
+++ b/linux/drivers/media/video/bttv-input.c
@@ -1,5 +1,5 @@
/*
- * $Id: bttv-input.c,v 1.5 2006/01/17 16:18:41 rmcc Exp $
+ * $Id: bttv-input.c,v 1.6 2006/01/17 20:05:21 rmcc Exp $
*
* Copyright (c) 2003 Gerd Knorr
* Copyright (c) 2003 Pavel Machek
@@ -29,7 +29,6 @@
#include "compat.h"
#include "bttv.h"
#include "bttvp.h"
-#include <media/ir-keymaps.h>
static int debug;
diff --git a/linux/drivers/media/video/cx88/cx88-input.c b/linux/drivers/media/video/cx88/cx88-input.c
index 8d843d1ca..912a9f009 100644
--- a/linux/drivers/media/video/cx88/cx88-input.c
+++ b/linux/drivers/media/video/cx88/cx88-input.c
@@ -1,5 +1,5 @@
/*
- * $Id: cx88-input.c,v 1.30 2006/01/17 16:18:41 rmcc Exp $
+ * $Id: cx88-input.c,v 1.31 2006/01/17 20:05:21 rmcc Exp $
*
* Device driver for GPIO attached remote control interfaces
* on Conexant 2388x based TV/DVB cards.
@@ -33,7 +33,6 @@
#include "compat.h"
#include "cx88.h"
#include <media/ir-common.h>
-#include <media/ir-keymaps.h>
/* ---------------------------------------------------------------------- */
diff --git a/linux/drivers/media/video/em28xx/em28xx-input.c b/linux/drivers/media/video/em28xx/em28xx-input.c
index 82e216983..a8d3cd4b0 100644
--- a/linux/drivers/media/video/em28xx/em28xx-input.c
+++ b/linux/drivers/media/video/em28xx/em28xx-input.c
@@ -32,7 +32,6 @@
#include "compat.h"
#include "em28xx.h"
-#include <media/ir-keymaps.h>
static unsigned int disable_ir = 0;
module_param(disable_ir, int, 0444);
diff --git a/linux/drivers/media/video/ir-kbd-i2c.c b/linux/drivers/media/video/ir-kbd-i2c.c
index 92d3c192d..60095ed86 100644
--- a/linux/drivers/media/video/ir-kbd-i2c.c
+++ b/linux/drivers/media/video/ir-kbd-i2c.c
@@ -1,5 +1,5 @@
/*
- * $Id: ir-kbd-i2c.c,v 1.34 2006/01/17 16:43:41 rmcc Exp $
+ * $Id: ir-kbd-i2c.c,v 1.35 2006/01/17 20:05:21 rmcc Exp $
*
* keyboard input driver for i2c IR remote controls
*
@@ -44,7 +44,6 @@
#include "compat.h"
#include <media/ir-common.h>
-#include <media/ir-keymaps.h>
#include <media/ir-kbd-i2c.h>
/* ----------------------------------------------------------------------- */
diff --git a/linux/drivers/media/video/saa7134/saa7134-input.c b/linux/drivers/media/video/saa7134/saa7134-input.c
index a69656133..c6a53fb0d 100644
--- a/linux/drivers/media/video/saa7134/saa7134-input.c
+++ b/linux/drivers/media/video/saa7134/saa7134-input.c
@@ -1,5 +1,5 @@
/*
- * $Id: saa7134-input.c,v 1.50 2006/01/17 16:18:41 rmcc Exp $
+ * $Id: saa7134-input.c,v 1.51 2006/01/17 20:05:21 rmcc Exp $
*
* handle saa7134 IR remotes via linux kernel input layer.
*
@@ -30,7 +30,6 @@
#include "compat.h"
#include "saa7134-reg.h"
#include "saa7134.h"
-#include <media/ir-keymaps.h>
static unsigned int disable_ir = 0;
module_param(disable_ir, int, 0444);
diff --git a/linux/include/media/ir-common.h b/linux/include/media/ir-common.h
index 7caf007b4..2a5f6e73c 100644
--- a/linux/include/media/ir-common.h
+++ b/linux/include/media/ir-common.h
@@ -1,5 +1,5 @@
/*
- * $Id: ir-common.h,v 1.14 2005/11/08 16:37:02 rmcc Exp $
+ * $Id: ir-common.h,v 1.15 2006/01/17 20:05:21 rmcc Exp $
*
* some common structs and functions to handle infrared remotes via
* input layer ...
@@ -65,6 +65,42 @@ int ir_dump_samples(u32 *samples, int count);
int ir_decode_biphase(u32 *samples, int count, int low, int high);
int ir_decode_pulsedistance(u32 *samples, int count, int low, int high);
+/* Keymaps to be used by other modules */
+
+extern IR_KEYTAB_TYPE ir_codes_empty[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_avermedia[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_avermedia_dvbt[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_apac_viewcomp[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_conceptronic[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_nebula[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_dntv_live_dvb_t[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_iodata_bctv7e[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_adstech_dvb_t_pci[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_msi_tvanywhere[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_cinergy_1400[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_avertv_303[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_dntv_live_dvbt_pro[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_em_terratec[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_em_pinnacle_usb[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE flyvideo_codes[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE flydvb_codes[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE cinergy_codes[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE eztv_codes[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE avacssmart_codes[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE md2819_codes[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE videomate_tv_pvr_codes[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE manli_codes[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE gotview7135_codes[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_purpletv[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE pctv_sedna_codes[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_pv951[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_rc5_tv[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_winfast[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_pinnacle[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_hauppauge_new[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_rc5_tv_grey[IR_KEYTAB_SIZE];
+
#endif
/*
diff --git a/v4l/ChangeLog b/v4l/ChangeLog
index 525eea6a1..6d0b28ba9 100644
--- a/v4l/ChangeLog
+++ b/v4l/ChangeLog
@@ -1,3 +1,26 @@
+2006-01-17 20:06 rmcc
+
+ * linux/drivers/media/common/Makefile:
+ * linux/drivers/media/common/ir-common.c:
+ * linux/drivers/media/common/ir-functions.c: (ir_input_key_event),
+ (ir_input_init), (ir_input_nokey), (ir_input_keydown),
+ (ir_extract_bits), (getbit), (ir_dump_samples),
+ (ir_decode_pulsedistance), (ir_decode_biphase):
+ * linux/drivers/media/common/ir-keymaps.c:
+ * linux/drivers/media/video/bttv-input.c:
+ * linux/drivers/media/video/cx88/cx88-input.c:
+ * linux/drivers/media/video/em28xx/em28xx-input.c:
+ * linux/drivers/media/video/ir-kbd-i2c.c:
+ * linux/drivers/media/video/saa7134/saa7134-input.c:
+ * linux/include/media/ir-common.h:
+ * linux/include/media/ir-keymaps.h:
+ * v4l/Makefile:
+
+ - Keymaps are exported by ir-common instead of being included by
+ each and every module
+
+ Signed-off-by: Ricardo Cerqueira <v4l@cerqueira.org>
+
2006-01-17 16:40 rmcc
* linux/drivers/media/video/ir-kbd-i2c.c: (ir_attach):
diff --git a/v4l/Makefile b/v4l/Makefile
index 329fbc0a3..b073227f1 100644
--- a/v4l/Makefile
+++ b/v4l/Makefile
@@ -9,7 +9,7 @@ include $(obj)/Make.config
# symbol exports
export-objs := video-buf.o v4l1-compat.o v4l2-common.o
-export-objs += ir-common.o
+export-objs += ir-common.o
ifeq ($(CONFIG_VIDEO_DEV),m)
export-objs += videodev.o
endif
@@ -18,6 +18,7 @@ export-objs += cx88-cards.o cx88-core.o
export-objs += saa7134-core.o saa7134-tvaudio.o
# drivers objects
+ir-common-objs := ir-keymaps.o ir-functions.o
bttv-objs := bttv-driver.o bttv-cards.o bttv-risc.o bttv-if.o \
bttv-vbi.o bttv-i2c.o bttv-input.o
saa7134-objs := saa7134-core.o saa7134-i2c.o saa7134-video.o \
@@ -94,7 +95,7 @@ endif
obj-$(CONFIG_VIDEO_SAA7134) += saa7134.o saa7134-empress.o saa6752hs.o
obj-$(CONFIG_VIDEO_SAA7134) += saa7134-oss.o
-obj-$(CONFIG_VIDEO_IR) += ir-common.o
+obj-$(CONFIG_VIDEO_IR) += ir-common.o
obj-$(CONFIG_VIDEO_TUNER) += tuner.o tda9887.o saa6588.o
obj-$(CONFIG_VIDEO_TVAUDIO) += msp3400.o tvaudio.o tvmixer.o wm8775.o \
cs53l32a.o tda7432.o tda9875.o