summaryrefslogtreecommitdiff
path: root/package/lqtapi/src/tapi/tapi-input.c
diff options
context:
space:
mode:
Diffstat (limited to 'package/lqtapi/src/tapi/tapi-input.c')
-rw-r--r--package/lqtapi/src/tapi/tapi-input.c99
1 files changed, 0 insertions, 99 deletions
diff --git a/package/lqtapi/src/tapi/tapi-input.c b/package/lqtapi/src/tapi/tapi-input.c
deleted file mode 100644
index 999aaef..0000000
--- a/package/lqtapi/src/tapi/tapi-input.c
+++ /dev/null
@@ -1,99 +0,0 @@
-
-#include <linux/tapi/tapi.h>
-
-#include <linux/input.h>
-
-static unsigned short tapi_keycodes[] = {
- [0] = KEY_NUMERIC_0,
- [1] = KEY_NUMERIC_1,
- [2] = KEY_NUMERIC_2,
- [3] = KEY_NUMERIC_3,
- [4] = KEY_NUMERIC_4,
- [5] = KEY_NUMERIC_5,
- [6] = KEY_NUMERIC_6,
- [7] = KEY_NUMERIC_7,
- [8] = KEY_NUMERIC_8,
- [9] = KEY_NUMERIC_9,
- [10] = KEY_NUMERIC_STAR,
- [11] = KEY_NUMERIC_POUND,
- [12] = KEY_ENTER,
- [13] = KEY_ESC,
-};
-
-static int tapi_input_event(struct input_dev *input, unsigned int type,
- unsigned int code, int value)
-{
- struct tapi_device *tdev = dev_to_tapi(input->dev.parent);
- struct tapi_port *port = input_get_drvdata(input);
-
-
- if (type != EV_SND || code != SND_BELL)
- return -EINVAL;
-
- tapi_port_set_ring(tdev, port, value);
-
- return 0;
-}
-
-void tapi_alloc_input(struct tapi_device *tdev, struct tapi_port *port)
-{
- struct input_dev *input;
- int i;
- char *phys;
-
- input = input_allocate_device();
-
- phys = kzalloc(sizeof("tapi/input000"), GFP_KERNEL);
- sprintf(phys, "tapi/input%d", port->id);
-
- input->name = "tapi";
- input->phys = phys;
- input->id.bustype = BUS_HOST;
- input->dev.parent = &tdev->dev;
- input->evbit[0] = BIT(EV_KEY) | BIT(EV_SND);
- input->sndbit[0] = BIT(SND_BELL);
-
- input->event = tapi_input_event;
-
- input->keycodesize = sizeof(unsigned short);
- input->keycodemax = ARRAY_SIZE(tapi_keycodes);
- input->keycode = tapi_keycodes;
-
- port->input = input;
-
- for (i = 0; i < ARRAY_SIZE(tapi_keycodes); ++i)
- __set_bit(tapi_keycodes[i], input->keybit);
-
- input_set_drvdata(input, port);
- input_register_device(input);
-}
-
-void tapi_report_event(struct tapi_device *tdev,
- struct tapi_event *event)
-{
- unsigned short key_code;
- struct input_dev *input;
-
- if (!tdev || !tdev->ports)
- return;
-
- switch (event->type) {
- case TAPI_EVENT_TYPE_HOOK:
- if (event->hook.on)
- key_code = KEY_ENTER;
- else
- key_code = KEY_ESC;
- break;
- case TAPI_EVENT_TYPE_DTMF:
- key_code = tapi_keycodes[event->dtmf.code];
- break;
- default:
- return;
- }
-
- input = tdev->ports[event->port].input;
- input_report_key(input, key_code, 1);
- input_sync(input);
- input_report_key(input, key_code, 0);
- input_sync(input);
-}