Commit 77b7422d authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

V4L/DVB: ir-common: move IR tables from ir-keymaps.c to a separate file



Instead of having one big file with lots of keytables, create one include
file for each IR keymap.

Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent dce4a3e3
Loading
Loading
Loading
Loading
+11 −3160

File changed.

Preview size limit exceeded, changes collapsed.

+65 −85
Original line number Diff line number Diff line
@@ -28,6 +28,71 @@
#include <linux/interrupt.h>
#include <media/ir-core.h>

#include <media/keycodes/adstech-dvb-t-pci.h>
#include <media/keycodes/apac-viewcomp.h>
#include <media/keycodes/asus-pc39.h>
#include <media/keycodes/ati-tv-wonder-hd-600.h>
#include <media/keycodes/avermedia-a16d.h>
#include <media/keycodes/avermedia-cardbus.h>
#include <media/keycodes/avermedia-dvbt.h>
#include <media/keycodes/avermedia.h>
#include <media/keycodes/avermedia-m135a-rm-jx.h>
#include <media/keycodes/avertv-303.h>
#include <media/keycodes/behold-columbus.h>
#include <media/keycodes/behold.h>
#include <media/keycodes/budget-ci-old.h>
#include <media/keycodes/cinergy-1400.h>
#include <media/keycodes/cinergy.h>
#include <media/keycodes/dm1105-nec.h>
#include <media/keycodes/dntv-live-dvb-t.h>
#include <media/keycodes/dntv-live-dvbt-pro.h>
#include <media/keycodes/empty.h>
#include <media/keycodes/em-terratec.h>
#include <media/keycodes/encore-enltv2.h>
#include <media/keycodes/encore-enltv-fm53.h>
#include <media/keycodes/encore-enltv.h>
#include <media/keycodes/evga-indtube.h>
#include <media/keycodes/eztv.h>
#include <media/keycodes/flydvb.h>
#include <media/keycodes/flyvideo.h>
#include <media/keycodes/fusionhdtv-mce.h>
#include <media/keycodes/gadmei-rm008z.h>
#include <media/keycodes/genius-tvgo-a11mce.h>
#include <media/keycodes/gotview7135.h>
#include <media/keycodes/hauppauge-new.h>
#include <media/keycodes/iodata-bctv7e.h>
#include <media/keycodes/kaiomy.h>
#include <media/keycodes/kworld-315u.h>
#include <media/keycodes/kworld-plus-tv-analog.h>
#include <media/keycodes/manli.h>
#include <media/keycodes/msi-tvanywhere.h>
#include <media/keycodes/msi-tvanywhere-plus.h>
#include <media/keycodes/nebula.h>
#include <media/keycodes/nec-terratec-cinergy-xs.h>
#include <media/keycodes/norwood.h>
#include <media/keycodes/npgtech.h>
#include <media/keycodes/pctv-sedna.h>
#include <media/keycodes/pinnacle-color.h>
#include <media/keycodes/pinnacle-grey.h>
#include <media/keycodes/pinnacle-pctv-hd.h>
#include <media/keycodes/pixelview.h>
#include <media/keycodes/pixelview-new.h>
#include <media/keycodes/powercolor-real-angel.h>
#include <media/keycodes/proteus-2309.h>
#include <media/keycodes/purpletv.h>
#include <media/keycodes/pv951.h>
#include <media/keycodes/rc5-hauppauge-new.h>
#include <media/keycodes/rc5-tv.h>
#include <media/keycodes/real-audio-220-32-keys.h>
#include <media/keycodes/tbs-nec.h>
#include <media/keycodes/terratec-cinergy-xs.h>
#include <media/keycodes/tevii-nec.h>
#include <media/keycodes/tt-1500.h>
#include <media/keycodes/videomate-s350.h>
#include <media/keycodes/videomate-tv-pvr.h>
#include <media/keycodes/winfast.h>
#include <media/keycodes/winfast-usbii-deluxe.h>

#define RC5_START(x)	(((x)>>12)&3)
#define RC5_TOGGLE(x)	(((x)>>11)&1)
#define RC5_ADDR(x)	(((x)>>6)&31)
@@ -104,89 +169,4 @@ u32 ir_rc5_decode(unsigned int code);
void ir_rc5_timer_end(unsigned long data);
void ir_rc5_timer_keyup(unsigned long data);

/* scancode->keycode map tables from ir-keymaps.c */

#define IR_KEYTABLE(a)					\
ir_codes_ ## a ## _table

#define DECLARE_IR_KEYTABLE(a)					\
extern struct ir_scancode_table IR_KEYTABLE(a)

#define DEFINE_IR_KEYTABLE(tabname, type)			\
struct ir_scancode_table IR_KEYTABLE(tabname) = {		\
	.scan = tabname,					\
	.size = ARRAY_SIZE(tabname),				\
	.ir_type = type,					\
	.name = #tabname,					\
};								\
EXPORT_SYMBOL_GPL(IR_KEYTABLE(tabname))

#define DEFINE_LEGACY_IR_KEYTABLE(tabname)			\
	DEFINE_IR_KEYTABLE(tabname, IR_TYPE_UNKNOWN)

DECLARE_IR_KEYTABLE(adstech_dvb_t_pci);
DECLARE_IR_KEYTABLE(apac_viewcomp);
DECLARE_IR_KEYTABLE(asus_pc39);
DECLARE_IR_KEYTABLE(ati_tv_wonder_hd_600);
DECLARE_IR_KEYTABLE(avermedia);
DECLARE_IR_KEYTABLE(avermedia_a16d);
DECLARE_IR_KEYTABLE(avermedia_cardbus);
DECLARE_IR_KEYTABLE(avermedia_dvbt);
DECLARE_IR_KEYTABLE(avermedia_m135a_rm_jx);
DECLARE_IR_KEYTABLE(avertv_303);
DECLARE_IR_KEYTABLE(behold);
DECLARE_IR_KEYTABLE(behold_columbus);
DECLARE_IR_KEYTABLE(budget_ci_old);
DECLARE_IR_KEYTABLE(cinergy);
DECLARE_IR_KEYTABLE(cinergy_1400);
DECLARE_IR_KEYTABLE(dm1105_nec);
DECLARE_IR_KEYTABLE(dntv_live_dvb_t);
DECLARE_IR_KEYTABLE(dntv_live_dvbt_pro);
DECLARE_IR_KEYTABLE(empty);
DECLARE_IR_KEYTABLE(em_terratec);
DECLARE_IR_KEYTABLE(encore_enltv);
DECLARE_IR_KEYTABLE(encore_enltv2);
DECLARE_IR_KEYTABLE(encore_enltv_fm53);
DECLARE_IR_KEYTABLE(evga_indtube);
DECLARE_IR_KEYTABLE(eztv);
DECLARE_IR_KEYTABLE(flydvb);
DECLARE_IR_KEYTABLE(flyvideo);
DECLARE_IR_KEYTABLE(fusionhdtv_mce);
DECLARE_IR_KEYTABLE(gadmei_rm008z);
DECLARE_IR_KEYTABLE(genius_tvgo_a11mce);
DECLARE_IR_KEYTABLE(gotview7135);
DECLARE_IR_KEYTABLE(hauppauge_new);
DECLARE_IR_KEYTABLE(iodata_bctv7e);
DECLARE_IR_KEYTABLE(kaiomy);
DECLARE_IR_KEYTABLE(kworld_315u);
DECLARE_IR_KEYTABLE(kworld_plus_tv_analog);
DECLARE_IR_KEYTABLE(manli);
DECLARE_IR_KEYTABLE(msi_tvanywhere);
DECLARE_IR_KEYTABLE(msi_tvanywhere_plus);
DECLARE_IR_KEYTABLE(nebula);
DECLARE_IR_KEYTABLE(nec_terratec_cinergy_xs);
DECLARE_IR_KEYTABLE(norwood);
DECLARE_IR_KEYTABLE(npgtech);
DECLARE_IR_KEYTABLE(pctv_sedna);
DECLARE_IR_KEYTABLE(pinnacle_color);
DECLARE_IR_KEYTABLE(pinnacle_grey);
DECLARE_IR_KEYTABLE(pinnacle_pctv_hd);
DECLARE_IR_KEYTABLE(pixelview);
DECLARE_IR_KEYTABLE(pixelview_new);
DECLARE_IR_KEYTABLE(powercolor_real_angel);
DECLARE_IR_KEYTABLE(proteus_2309);
DECLARE_IR_KEYTABLE(purpletv);
DECLARE_IR_KEYTABLE(pv951);
DECLARE_IR_KEYTABLE(rc5_hauppauge_new);
DECLARE_IR_KEYTABLE(rc5_tv);
DECLARE_IR_KEYTABLE(real_audio_220_32_keys);
DECLARE_IR_KEYTABLE(tbs_nec);
DECLARE_IR_KEYTABLE(terratec_cinergy_xs);
DECLARE_IR_KEYTABLE(tevii_nec);
DECLARE_IR_KEYTABLE(tt_1500);
DECLARE_IR_KEYTABLE(videomate_s350);
DECLARE_IR_KEYTABLE(videomate_tv_pvr);
DECLARE_IR_KEYTABLE(winfast);
DECLARE_IR_KEYTABLE(winfast_usbii_deluxe);

#endif
+18 −0
Original line number Diff line number Diff line
@@ -96,6 +96,24 @@ struct ir_raw_handler {

#define to_ir_input_dev(_attr) container_of(_attr, struct ir_input_dev, attr)

#define IR_KEYTABLE(a)					\
ir_codes_ ## a ## _table

#define DECLARE_IR_KEYTABLE(a)					\
extern struct ir_scancode_table IR_KEYTABLE(a)

#define DEFINE_IR_KEYTABLE(tabname, type)			\
struct ir_scancode_table IR_KEYTABLE(tabname) = {		\
	.scan = tabname,					\
	.size = ARRAY_SIZE(tabname),				\
	.ir_type = type,					\
	.name = #tabname,					\
};								\
EXPORT_SYMBOL_GPL(IR_KEYTABLE(tabname))

#define DEFINE_LEGACY_IR_KEYTABLE(tabname)			\
	DEFINE_IR_KEYTABLE(tabname, IR_TYPE_UNKNOWN)

/* Routines from ir-keytable.c */

u32 ir_g_keycode_from_table(struct input_dev *input_dev,
+65 −0
Original line number Diff line number Diff line
/* adstech-dvb-t-pci.h - Keytable for adstech_dvb_t_pci Remote Controller
 *
 * Imported from ir-keymaps.c
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 */

/* ADS Tech Instant TV DVB-T PCI Remote */

#ifdef IR_KEYMAPS
static struct ir_scancode adstech_dvb_t_pci[] = {
	/* Keys 0 to 9 */
	{ 0x4d, KEY_0 },
	{ 0x57, KEY_1 },
	{ 0x4f, KEY_2 },
	{ 0x53, KEY_3 },
	{ 0x56, KEY_4 },
	{ 0x4e, KEY_5 },
	{ 0x5e, KEY_6 },
	{ 0x54, KEY_7 },
	{ 0x4c, KEY_8 },
	{ 0x5c, KEY_9 },

	{ 0x5b, KEY_POWER },
	{ 0x5f, KEY_MUTE },
	{ 0x55, KEY_GOTO },
	{ 0x5d, KEY_SEARCH },
	{ 0x17, KEY_EPG },		/* Guide */
	{ 0x1f, KEY_MENU },
	{ 0x0f, KEY_UP },
	{ 0x46, KEY_DOWN },
	{ 0x16, KEY_LEFT },
	{ 0x1e, KEY_RIGHT },
	{ 0x0e, KEY_SELECT },		/* Enter */
	{ 0x5a, KEY_INFO },
	{ 0x52, KEY_EXIT },
	{ 0x59, KEY_PREVIOUS },
	{ 0x51, KEY_NEXT },
	{ 0x58, KEY_REWIND },
	{ 0x50, KEY_FORWARD },
	{ 0x44, KEY_PLAYPAUSE },
	{ 0x07, KEY_STOP },
	{ 0x1b, KEY_RECORD },
	{ 0x13, KEY_TUNER },		/* Live */
	{ 0x0a, KEY_A },
	{ 0x12, KEY_B },
	{ 0x03, KEY_PROG1 },		/* 1 */
	{ 0x01, KEY_PROG2 },		/* 2 */
	{ 0x00, KEY_PROG3 },		/* 3 */
	{ 0x06, KEY_DVD },
	{ 0x48, KEY_AUX },		/* Photo */
	{ 0x40, KEY_VIDEO },
	{ 0x19, KEY_AUDIO },		/* Music */
	{ 0x0b, KEY_CHANNELUP },
	{ 0x08, KEY_CHANNELDOWN },
	{ 0x15, KEY_VOLUMEUP },
	{ 0x1c, KEY_VOLUMEDOWN },
};
DEFINE_LEGACY_IR_KEYTABLE(adstech_dvb_t_pci);
#else
DECLARE_IR_KEYTABLE(adstech_dvb_t_pci);
#endif
+56 −0
Original line number Diff line number Diff line
/* apac-viewcomp.h - Keytable for apac_viewcomp Remote Controller
 *
 * Imported from ir-keymaps.c
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 */

/* Attila Kondoros <attila.kondoros@chello.hu> */

#ifdef IR_KEYMAPS
static struct ir_scancode apac_viewcomp[] = {

	{ 0x01, KEY_1 },
	{ 0x02, KEY_2 },
	{ 0x03, KEY_3 },
	{ 0x04, KEY_4 },
	{ 0x05, KEY_5 },
	{ 0x06, KEY_6 },
	{ 0x07, KEY_7 },
	{ 0x08, KEY_8 },
	{ 0x09, KEY_9 },
	{ 0x00, KEY_0 },
	{ 0x17, KEY_LAST },		/* +100 */
	{ 0x0a, KEY_LIST },		/* recall */


	{ 0x1c, KEY_TUNER },		/* TV/FM */
	{ 0x15, KEY_SEARCH },		/* scan */
	{ 0x12, KEY_POWER },		/* power */
	{ 0x1f, KEY_VOLUMEDOWN },	/* vol up */
	{ 0x1b, KEY_VOLUMEUP },		/* vol down */
	{ 0x1e, KEY_CHANNELDOWN },	/* chn up */
	{ 0x1a, KEY_CHANNELUP },	/* chn down */

	{ 0x11, KEY_VIDEO },		/* video */
	{ 0x0f, KEY_ZOOM },		/* full screen */
	{ 0x13, KEY_MUTE },		/* mute/unmute */
	{ 0x10, KEY_TEXT },		/* min */

	{ 0x0d, KEY_STOP },		/* freeze */
	{ 0x0e, KEY_RECORD },		/* record */
	{ 0x1d, KEY_PLAYPAUSE },	/* stop */
	{ 0x19, KEY_PLAY },		/* play */

	{ 0x16, KEY_GOTO },		/* osd */
	{ 0x14, KEY_REFRESH },		/* default */
	{ 0x0c, KEY_KPPLUS },		/* fine tune >>>> */
	{ 0x18, KEY_KPMINUS },		/* fine tune <<<< */
};
DEFINE_LEGACY_IR_KEYTABLE(apac_viewcomp);
#else
DECLARE_IR_KEYTABLE(apac_viewcomp);
#endif
Loading