]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - include/media/ir-common.h
V4L/DVB: ir-common: move IR tables from ir-keymaps.c to a separate file
[net-next-2.6.git] / include / media / ir-common.h
index c66298062d397ae4bbfcb14caef9cf10a8507581..59ce30280b7201e424c81f974266311340459fee 100644 (file)
 #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)
@@ -50,6 +115,10 @@ struct card_ir {
        struct ir_input_state   ir;
        char                    name[32];
        char                    phys[32];
+       int                     users;
+
+       u32                     running:1;
+       struct ir_dev_props     props;
 
        /* Usual gpio signalling */
 
@@ -79,6 +148,9 @@ struct card_ir {
        /* NEC decoding */
        u32                     nec_gpio;
        struct tasklet_struct   tlet;
+
+       /* IR core raw decoding */
+       u32                     raw_decode;
 };
 
 /* Routines from ir-functions.c */
@@ -97,71 +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 */
-
-extern struct ir_scancode_table ir_codes_empty_table;
-extern struct ir_scancode_table ir_codes_avermedia_table;
-extern struct ir_scancode_table ir_codes_avermedia_dvbt_table;
-extern struct ir_scancode_table ir_codes_avermedia_m135a_table;
-extern struct ir_scancode_table ir_codes_avermedia_cardbus_table;
-extern struct ir_scancode_table ir_codes_apac_viewcomp_table;
-extern struct ir_scancode_table ir_codes_pixelview_table;
-extern struct ir_scancode_table ir_codes_pixelview_new_table;
-extern struct ir_scancode_table ir_codes_nebula_table;
-extern struct ir_scancode_table ir_codes_dntv_live_dvb_t_table;
-extern struct ir_scancode_table ir_codes_iodata_bctv7e_table;
-extern struct ir_scancode_table ir_codes_adstech_dvb_t_pci_table;
-extern struct ir_scancode_table ir_codes_msi_tvanywhere_table;
-extern struct ir_scancode_table ir_codes_cinergy_1400_table;
-extern struct ir_scancode_table ir_codes_avertv_303_table;
-extern struct ir_scancode_table ir_codes_dntv_live_dvbt_pro_table;
-extern struct ir_scancode_table ir_codes_em_terratec_table;
-extern struct ir_scancode_table ir_codes_pinnacle_grey_table;
-extern struct ir_scancode_table ir_codes_flyvideo_table;
-extern struct ir_scancode_table ir_codes_flydvb_table;
-extern struct ir_scancode_table ir_codes_cinergy_table;
-extern struct ir_scancode_table ir_codes_eztv_table;
-extern struct ir_scancode_table ir_codes_avermedia_table;
-extern struct ir_scancode_table ir_codes_videomate_tv_pvr_table;
-extern struct ir_scancode_table ir_codes_manli_table;
-extern struct ir_scancode_table ir_codes_gotview7135_table;
-extern struct ir_scancode_table ir_codes_purpletv_table;
-extern struct ir_scancode_table ir_codes_pctv_sedna_table;
-extern struct ir_scancode_table ir_codes_pv951_table;
-extern struct ir_scancode_table ir_codes_rc5_tv_table;
-extern struct ir_scancode_table ir_codes_winfast_table;
-extern struct ir_scancode_table ir_codes_pinnacle_color_table;
-extern struct ir_scancode_table ir_codes_hauppauge_new_table;
-extern struct ir_scancode_table ir_codes_rc5_hauppauge_new_table;
-extern struct ir_scancode_table ir_codes_npgtech_table;
-extern struct ir_scancode_table ir_codes_norwood_table;
-extern struct ir_scancode_table ir_codes_proteus_2309_table;
-extern struct ir_scancode_table ir_codes_budget_ci_old_table;
-extern struct ir_scancode_table ir_codes_asus_pc39_table;
-extern struct ir_scancode_table ir_codes_encore_enltv_table;
-extern struct ir_scancode_table ir_codes_encore_enltv2_table;
-extern struct ir_scancode_table ir_codes_tt_1500_table;
-extern struct ir_scancode_table ir_codes_fusionhdtv_mce_table;
-extern struct ir_scancode_table ir_codes_behold_table;
-extern struct ir_scancode_table ir_codes_behold_columbus_table;
-extern struct ir_scancode_table ir_codes_pinnacle_pctv_hd_table;
-extern struct ir_scancode_table ir_codes_genius_tvgo_a11mce_table;
-extern struct ir_scancode_table ir_codes_powercolor_real_angel_table;
-extern struct ir_scancode_table ir_codes_avermedia_a16d_table;
-extern struct ir_scancode_table ir_codes_encore_enltv_fm53_table;
-extern struct ir_scancode_table ir_codes_real_audio_220_32_keys_table;
-extern struct ir_scancode_table ir_codes_msi_tvanywhere_plus_table;
-extern struct ir_scancode_table ir_codes_ati_tv_wonder_hd_600_table;
-extern struct ir_scancode_table ir_codes_kworld_plus_tv_analog_table;
-extern struct ir_scancode_table ir_codes_kaiomy_table;
-extern struct ir_scancode_table ir_codes_dm1105_nec_table;
-extern struct ir_scancode_table ir_codes_tevii_nec_table;
-extern struct ir_scancode_table ir_codes_tbs_nec_table;
-extern struct ir_scancode_table ir_codes_evga_indtube_table;
-extern struct ir_scancode_table ir_codes_terratec_cinergy_xs_table;
-extern struct ir_scancode_table ir_codes_videomate_s350_table;
-extern struct ir_scancode_table ir_codes_gadmei_rm008z_table;
-extern struct ir_scancode_table ir_codes_nec_terratec_cinergy_xs_table;
-extern struct ir_scancode_table ir_codes_winfast_usbii_deluxe_table;
-extern struct ir_scancode_table ir_codes_kworld_315u_table;
 #endif