diff options
author | George Spelvin <linux@horizon.com> | 2014-05-11 08:15:44 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <m.chehab@samsung.com> | 2014-07-25 23:51:51 -0300 |
commit | 89b0c0d2779ef05d753c125155a362452cc0f155 (patch) | |
tree | c9a6f2c4b8a050e730fbeb7b7610b91e8bb011a2 /drivers/media/rc | |
parent | 3f245b9cb44453b911499e702dc9301f0c4981d3 (diff) |
[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>
Diffstat (limited to 'drivers/media/rc')
-rw-r--r-- | drivers/media/rc/ati_remote.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/drivers/media/rc/ati_remote.c b/drivers/media/rc/ati_remote.c index a41986ca131..8a15ee5e728 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]; } /* |