summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorge Spelvin <linux@horizon.com>2014-05-11 13:15:44 +0200
committerMauro Carvalho Chehab <m.chehab@samsung.com>2014-07-26 04:51:51 +0200
commit89b0c0d2779ef05d753c125155a362452cc0f155 (patch)
treec9a6f2c4b8a050e730fbeb7b7610b91e8bb011a2
parent[media] ati_remote: Shrink the ati_remote_tbl even more (diff)
downloadlinux-89b0c0d2779ef05d753c125155a362452cc0f155.tar.xz
linux-89b0c0d2779ef05d753c125155a362452cc0f155.zip
[media] ati_remote: Merge some duplicate code
The KIND_FILTERED assignment of old_jiffies can't be merged, because it must precede repeat handling. Signed-off-by: George Spelvin <linux@horizon.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-rw-r--r--drivers/media/rc/ati_remote.c21
1 files changed, 10 insertions, 11 deletions
diff --git a/drivers/media/rc/ati_remote.c b/drivers/media/rc/ati_remote.c
index a41986ca1310..8a15ee5e728b 100644
--- a/drivers/media/rc/ati_remote.c
+++ b/drivers/media/rc/ati_remote.c
@@ -568,7 +568,6 @@ static void ati_remote_input_report(struct urb *urb)
*/
input_event(dev, EV_KEY, ati_remote_tbl[index].code,
!(data[2] & 1));
- input_sync(dev);
ati_remote->old_jiffies = jiffies;
@@ -585,7 +584,6 @@ static void ati_remote_input_report(struct urb *urb)
ati_remote->first_jiffies = now;
}
- ati_remote->old_data = data[2];
ati_remote->old_jiffies = now;
/* Ensure we skip at least the 4 first duplicate events
@@ -598,7 +596,10 @@ static void ati_remote_input_report(struct urb *urb)
msecs_to_jiffies(repeat_delay))))
return;
- if (index < 0) {
+ if (index >= 0) {
+ input_event(dev, EV_KEY, ati_remote_tbl[index].code, 1);
+ input_event(dev, EV_KEY, ati_remote_tbl[index].code, 0);
+ } else {
/* Not a mouse event, hand it to rc-core. */
int count = 1;
@@ -623,13 +624,9 @@ static void ati_remote_input_report(struct urb *urb)
scancode, data[2]);
rc_keyup(ati_remote->rdev);
}
- return;
+ goto nosync;
}
- input_event(dev, EV_KEY, ati_remote_tbl[index].code, 1);
- input_event(dev, EV_KEY, ati_remote_tbl[index].code, 0);
- input_sync(dev);
-
} else if (ati_remote_tbl[index].kind == KIND_ACCEL) {
signed char dx = ati_remote_tbl[index].code >> 8;
signed char dy = ati_remote_tbl[index].code & 255;
@@ -644,14 +641,16 @@ static void ati_remote_input_report(struct urb *urb)
input_report_rel(dev, REL_X, dx * acc);
if (dy)
input_report_rel(dev, REL_Y, dy * acc);
- input_sync(dev);
-
ati_remote->old_jiffies = jiffies;
- ati_remote->old_data = data[2];
+
} else {
dev_dbg(&ati_remote->interface->dev, "ati_remote kind=%d\n",
ati_remote_tbl[index].kind);
+ return;
}
+ input_sync(dev);
+nosync:
+ ati_remote->old_data = data[2];
}
/*