Commit 96e77ae0 authored by Dirk Behme's avatar Dirk Behme Committed by Tony Lindgren

ARM: OMAP: Convert touchscreen to input_allocate_device() to remove:

input: device omap_ts is statically allocated, will not register
Please convert to input_allocate_device() or contact dtor_core@ameritech.net

Signed-off-by: Dirk Behme <dirk.behme_at_de.bosch.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent d882cbce
...@@ -65,10 +65,10 @@ static int omap_ts_read(void) ...@@ -65,10 +65,10 @@ static int omap_ts_read(void)
ts_omap.dev->read(data); ts_omap.dev->read(data);
input_report_abs(&(ts_omap.inputdevice), ABS_X, data[0]); input_report_abs(ts_omap.inputdevice, ABS_X, data[0]);
input_report_abs(&(ts_omap.inputdevice), ABS_Y, data[1]); input_report_abs(ts_omap.inputdevice, ABS_Y, data[1]);
input_report_abs(&(ts_omap.inputdevice), ABS_PRESSURE, data[2]); input_report_abs(ts_omap.inputdevice, ABS_PRESSURE, data[2]);
input_sync(&(ts_omap.inputdevice)); input_sync(ts_omap.inputdevice);
DEBUG_TS("omap_ts_read: read x=%d,y=%d,p=%d\n", data[0], data[1], DEBUG_TS("omap_ts_read: read x=%d,y=%d,p=%d\n", data[0], data[1],
data[2]); data[2]);
...@@ -85,7 +85,7 @@ static void omap_ts_timer(unsigned long data) ...@@ -85,7 +85,7 @@ static void omap_ts_timer(unsigned long data)
if (!ts_omap.dev->penup()) { if (!ts_omap.dev->penup()) {
if (!ts_omap.touched) { if (!ts_omap.touched) {
DEBUG_TS("omap_ts_timer: pen down\n"); DEBUG_TS("omap_ts_timer: pen down\n");
input_report_key(&(ts_omap.inputdevice), BTN_TOUCH, 1); input_report_key(ts_omap.inputdevice, BTN_TOUCH, 1);
} }
ts_omap.touched = 1; ts_omap.touched = 1;
omap_ts_read(); omap_ts_read();
...@@ -95,12 +95,12 @@ static void omap_ts_timer(unsigned long data) ...@@ -95,12 +95,12 @@ static void omap_ts_timer(unsigned long data)
if (ts_omap.touched) { if (ts_omap.touched) {
DEBUG_TS("omap_ts_timer: pen up\n"); DEBUG_TS("omap_ts_timer: pen up\n");
ts_omap.touched = 0; ts_omap.touched = 0;
input_report_abs(&(ts_omap.inputdevice), ABS_X, 0); input_report_abs(ts_omap.inputdevice, ABS_X, 0);
input_report_abs(&(ts_omap.inputdevice), ABS_Y, 0); input_report_abs(ts_omap.inputdevice, ABS_Y, 0);
input_report_abs(&(ts_omap.inputdevice), ABS_PRESSURE, input_report_abs(ts_omap.inputdevice, ABS_PRESSURE,
0); 0);
input_sync(&(ts_omap.inputdevice)); input_sync(ts_omap.inputdevice);
input_report_key(&(ts_omap.inputdevice), BTN_TOUCH, 0); input_report_key(ts_omap.inputdevice, BTN_TOUCH, 0);
} }
if (!ts_omap.irq_enabled) { if (!ts_omap.irq_enabled) {
ts_omap.irq_enabled = 1; ts_omap.irq_enabled = 1;
...@@ -167,14 +167,14 @@ static int __init omap_ts_probe(struct platform_device *pdev) ...@@ -167,14 +167,14 @@ static int __init omap_ts_probe(struct platform_device *pdev)
return -EINVAL; return -EINVAL;
} }
init_input_dev(&(ts_omap.inputdevice)); ts_omap.inputdevice = input_allocate_device();
ts_omap.inputdevice.name = OMAP_TS_NAME; ts_omap.inputdevice->name = OMAP_TS_NAME;
ts_omap.inputdevice.dev = &pdev->dev; ts_omap.inputdevice->dev = &pdev->dev;
ts_omap.inputdevice.evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); ts_omap.inputdevice->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS);
ts_omap.inputdevice.keybit[LONG(BTN_TOUCH)] |= BIT(BTN_TOUCH); ts_omap.inputdevice->keybit[LONG(BTN_TOUCH)] |= BIT(BTN_TOUCH);
ts_omap.inputdevice.absbit[0] = ts_omap.inputdevice->absbit[0] =
BIT(ABS_X) | BIT(ABS_Y) | BIT(ABS_PRESSURE); BIT(ABS_X) | BIT(ABS_Y) | BIT(ABS_PRESSURE);
input_register_device(&(ts_omap.inputdevice)); input_register_device(ts_omap.inputdevice);
ts_omap.dev->enable(); ts_omap.dev->enable();
...@@ -186,7 +186,7 @@ static int __init omap_ts_probe(struct platform_device *pdev) ...@@ -186,7 +186,7 @@ static int __init omap_ts_probe(struct platform_device *pdev)
static int omap_ts_remove(struct platform_device *pdev) static int omap_ts_remove(struct platform_device *pdev)
{ {
ts_omap.dev->disable(); ts_omap.dev->disable();
input_unregister_device(&ts_omap.inputdevice); input_unregister_device(ts_omap.inputdevice);
if (ts_omap.irq != -1) if (ts_omap.irq != -1)
free_irq(ts_omap.irq, &ts_omap); free_irq(ts_omap.irq, &ts_omap);
......
...@@ -42,7 +42,7 @@ struct ts_device { ...@@ -42,7 +42,7 @@ struct ts_device {
}; };
struct omap_ts_t{ struct omap_ts_t{
struct input_dev inputdevice; struct input_dev * inputdevice;
struct timer_list ts_timer; // Timer for triggering acquisitions struct timer_list ts_timer; // Timer for triggering acquisitions
int touched; int touched;
int irq; int irq;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment