[media] m920x: avoid repeating RC state parsing at each keycode
authorAntonio Ospite <ospite@studenti.unina.it>
Mon, 10 Dec 2012 20:37:13 +0000 (17:37 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Thu, 27 Dec 2012 18:30:07 +0000 (16:30 -0200)
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>
drivers/media/usb/dvb-usb/m920x.c

index 581c5deffb6e54355a1e9f2b3ae9867697e357ea..5f6ca753e293149252f2535d40ef519d09f60c57 100644 (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)
                goto out;
 
+       m920x_parse_rc_state(d, rc_state[0], state);
+
        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]) {
                        *event = d->props.rc.legacy.rc_map_table[i].keycode;
-                       m920x_parse_rc_state(d, rc_state[0], state);
                        goto out;
                }