[media] m920x: avoid repeating RC state parsing at each keycode

Parsing the RC press state is invariant wrt. the keycode, take it out of
the keycode scanning loop.

Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
Antonio Ospite 2012-12-10 17:37:13 -03:00 committed by Mauro Carvalho Chehab
parent f526e9e1dc
commit 7a7ef4657e
1 changed files with 2 additions and 1 deletions

View File

@ -197,10 +197,11 @@ static int m920x_rc_query(struct dvb_usb_device *d, u32 *event, int *state)
if ((ret = m920x_read(d->udev, M9206_CORE, 0x0, M9206_RC_KEY, rc_state + 1, 1)) != 0) if ((ret = m920x_read(d->udev, M9206_CORE, 0x0, M9206_RC_KEY, rc_state + 1, 1)) != 0)
goto out; goto out;
m920x_parse_rc_state(d, rc_state[0], state);
for (i = 0; i < d->props.rc.legacy.rc_map_size; i++) for (i = 0; i < d->props.rc.legacy.rc_map_size; i++)
if (rc5_data(&d->props.rc.legacy.rc_map_table[i]) == rc_state[1]) { if (rc5_data(&d->props.rc.legacy.rc_map_table[i]) == rc_state[1]) {
*event = d->props.rc.legacy.rc_map_table[i].keycode; *event = d->props.rc.legacy.rc_map_table[i].keycode;
m920x_parse_rc_state(d, rc_state[0], state);
goto out; goto out;
} }