#define TO_US(duration) DIV_ROUND_CLOSEST((duration), 1000)
#define TO_STR(is_pulse) ((is_pulse) ? "pulse" : "space")
-/*
- * Routines from ir-sysfs.c - Meant to be called only internally inside
- * ir-core
- */
-int ir_register_input(struct input_dev *input_dev);
-
-int ir_register_class(struct input_dev *input_dev);
-void ir_unregister_class(struct input_dev *input_dev);
/*
* Routines from ir-raw-event.c to be used internally and by decoders
void ir_raw_handler_unregister(struct ir_raw_handler *ir_raw_handler);
void ir_raw_init(void);
-int ir_rcmap_init(void);
-void ir_rcmap_cleanup(void);
/*
* Decoder initialization code
*
/* FIXME: IR_KEYPRESS_TIMEOUT should be protocol specific */
#define IR_KEYPRESS_TIMEOUT 250
-/* Used to handle IR raw handler extensions */
+/* Used to keep track of known keymaps */
static LIST_HEAD(rc_map_list);
static DEFINE_SPINLOCK(rc_map_lock);
+/* Forward declarations */
+static int ir_register_class(struct input_dev *input_dev);
+static void ir_unregister_class(struct input_dev *input_dev);
+static int ir_register_input(struct input_dev *input_dev);
+
+
static struct rc_keymap *seek_rc_map(const char *name)
{
struct rc_keymap *map = NULL;
}
};
-int ir_rcmap_init(void)
-{
- return ir_register_map(&empty_map);
-}
-
-void ir_rcmap_cleanup(void)
-{
- ir_unregister_map(&empty_map);
-}
-
/**
* ir_create_table() - initializes a scancode table
* @rc_tab: the ir_scancode_table to initialize
}
/**
- * ir_locate_scancode() - set a keycode in the scancode->keycode table
+ * ir_establish_scancode() - set a keycode in the scancode->keycode table
* @ir_dev: the struct ir_input_dev device descriptor
* @rc_tab: scancode table to be searched
* @scancode: the desired scancode
*
* This routine is used to register the syfs code for IR class
*/
-int ir_register_class(struct input_dev *input_dev)
+static int ir_register_class(struct input_dev *input_dev)
{
struct ir_input_dev *ir_dev = input_get_drvdata(input_dev);
int devno = find_first_zero_bit(&ir_core_dev_number,
* @input_dev: the struct input_dev descriptor of the device
*/
-int ir_register_input(struct input_dev *input_dev)
+static int ir_register_input(struct input_dev *input_dev)
{
struct ir_input_dev *ir_dev = input_get_drvdata(input_dev);
int rc;
*
* This routine is used to unregister the syfs code for IR class
*/
-void ir_unregister_class(struct input_dev *input_dev)
+static void ir_unregister_class(struct input_dev *input_dev)
{
struct ir_input_dev *ir_dev = input_get_drvdata(input_dev);
/* Initialize/load the decoders/keymap code that will be used */
ir_raw_init();
- ir_rcmap_init();
+ ir_register_map(&empty_map);
return 0;
}
static void __exit ir_core_exit(void)
{
class_unregister(&ir_input_class);
- ir_rcmap_cleanup();
+ ir_unregister_map(&empty_map);
}
module_init(ir_core_init);
#define to_ir_input_dev(_attr) container_of(_attr, struct ir_input_dev, attr)
-/* From ir-keytable.c */
int __ir_input_register(struct input_dev *dev,
const struct ir_scancode_table *ir_codes,
struct ir_dev_props *props,
u32 ir_g_keycode_from_table(struct input_dev *input_dev, u32 scancode);
/* From ir-raw-event.c */
-
struct ir_raw_event {
union {
u32 duration;