V4L/DVB: ir-core: move rc map code to rc-map.h
authorMauro Carvalho Chehab <mchehab@redhat.com>
Sun, 4 Apr 2010 15:38:57 +0000 (12:38 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 19 May 2010 15:56:58 +0000 (12:56 -0300)
The keymaps don't need to be recompiled every time a change at ir-core.h
happens, since it only depends on rc-map defines. By moving those
definitions to the proper header, the code became cleaner, and avoids
needing to recompile all the RC maps every time a non-related change
is introduced.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
include/media/ir-core.h
include/media/rc-map.h

index 1c1e8d9bd10a07299f5d550579f33841b72fa7aa..0f64b48ecd909897e44cbe145899f169c7eb897f 100644 (file)
@@ -16,7 +16,6 @@
 #ifndef _IR_CORE
 #define _IR_CORE
 
-#include <linux/input.h>
 #include <linux/spinlock.h>
 #include <linux/kfifo.h>
 #include <linux/time.h>
@@ -27,12 +26,6 @@ extern int ir_core_debug;
 #define IR_dprintk(level, fmt, arg...) if (ir_core_debug >= level) \
        printk(KERN_DEBUG "%s: " fmt , __func__, ## arg)
 
-#define IR_TYPE_UNKNOWN        0
-#define IR_TYPE_RC5    (1  << 0)       /* Philips RC5 protocol */
-#define IR_TYPE_PD     (1  << 1)       /* Pulse distance encoded IR */
-#define IR_TYPE_NEC    (1  << 2)
-#define IR_TYPE_OTHER  (((u64)1) << 63l)
-
 enum raw_event_type {
        IR_SPACE        = (1 << 0),
        IR_PULSE        = (1 << 1),
@@ -40,26 +33,6 @@ enum raw_event_type {
        IR_STOP_EVENT   = (1 << 3),
 };
 
-struct ir_scancode {
-       u16     scancode;
-       u32     keycode;
-};
-
-struct ir_scancode_table {
-       struct ir_scancode      *scan;
-       unsigned int            size;   /* Max number of entries */
-       unsigned int            len;    /* Used number of entries */
-       unsigned int            alloc;  /* Size of *scan in bytes */
-       u64                     ir_type;
-       char                    *name;
-       spinlock_t              lock;
-};
-
-struct rc_keymap {
-       struct list_head         list;
-       struct ir_scancode_table map;
-};
-
 struct ir_dev_props {
        unsigned long allowed_protos;
        void            *priv;
@@ -108,13 +81,6 @@ struct ir_raw_handler {
 
 #define to_ir_input_dev(_attr) container_of(_attr, struct ir_input_dev, attr)
 
-/* Routines from rc-map.c */
-
-int ir_register_map(struct rc_keymap *map);
-void ir_unregister_map(struct rc_keymap *map);
-struct ir_scancode_table *get_rc_map(const char *name);
-void rc_map_init(void);
-
 /* Routines from ir-keytable.c */
 
 u32 ir_g_keycode_from_table(struct input_dev *input_dev,
index 9ea0033fa3cc7769f821eb48cf66bf7801ea53dc..b10990d1749d6a3e9d48b53ff26cee9186f3ce90 100644 (file)
@@ -9,7 +9,42 @@
  * (at your option) any later version.
  */
 
-#include <media/ir-core.h>
+#include <linux/input.h>
+
+#define IR_TYPE_UNKNOWN        0
+#define IR_TYPE_RC5    (1  << 0)       /* Philips RC5 protocol */
+#define IR_TYPE_PD     (1  << 1)       /* Pulse distance encoded IR */
+#define IR_TYPE_NEC    (1  << 2)
+#define IR_TYPE_OTHER  (1u << 31)
+
+struct ir_scancode {
+       u16     scancode;
+       u32     keycode;
+};
+
+struct ir_scancode_table {
+       struct ir_scancode      *scan;
+       unsigned int            size;   /* Max number of entries */
+       unsigned int            len;    /* Used number of entries */
+       unsigned int            alloc;  /* Size of *scan in bytes */
+       u64                     ir_type;
+       char                    *name;
+       spinlock_t              lock;
+};
+
+struct rc_keymap {
+       struct list_head         list;
+       struct ir_scancode_table map;
+};
+
+/* Routines from rc-map.c */
+
+int ir_register_map(struct rc_keymap *map);
+void ir_unregister_map(struct rc_keymap *map);
+struct ir_scancode_table *get_rc_map(const char *name);
+void rc_map_init(void);
+
+/* Names of the several keytables defined in-kernel */
 
 #define RC_MAP_ADSTECH_DVB_T_PCI         "rc-adstech-dvb-t-pci"
 #define RC_MAP_APAC_VIEWCOMP             "rc-apac-viewcomp"