[media] m920x: factor out a m920x_write_seq() function
authorAntonio Ospite <ospite@studenti.unina.it>
Mon, 10 Dec 2012 20:37:11 +0000 (17:37 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Thu, 27 Dec 2012 18:28:15 +0000 (16:28 -0200)
This is in preparation for the vp7049 frontend attach function which is
going to set a sequence of registers as well.

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 433696d14f4b64857ca7030f9233b95bb025f7b4..23416fbb9f8ca4fafb6abf7b9e5b7b95199ab5ca 100644 (file)
@@ -63,6 +63,21 @@ static inline int m920x_write(struct usb_device *udev, u8 request,
        return ret;
 }
 
+static inline int m920x_write_seq(struct usb_device *udev, u8 request,
+                                 struct m920x_inits *seq)
+{
+       int ret;
+       while (seq->address) {
+               ret = m920x_write(udev, request, seq->data, seq->address);
+               if (ret != 0)
+                       return ret;
+
+               seq++;
+       }
+
+       return ret;
+}
+
 static int m920x_init(struct dvb_usb_device *d, struct m920x_inits *rc_seq)
 {
        int ret = 0, i, epi, flags = 0;
@@ -71,15 +86,10 @@ static int m920x_init(struct dvb_usb_device *d, struct m920x_inits *rc_seq)
        /* Remote controller init. */
        if (d->props.rc.legacy.rc_query) {
                deb("Initialising remote control\n");
-               while (rc_seq->address) {
-                       if ((ret = m920x_write(d->udev, M9206_CORE,
-                                              rc_seq->data,
-                                              rc_seq->address)) != 0) {
-                               deb("Initialising remote control failed\n");
-                               return ret;
-                       }
-
-                       rc_seq++;
+               ret = m920x_write_seq(d->udev, M9206_CORE, rc_seq);
+               if (ret != 0) {
+                       deb("Initialising remote control failed\n");
+                       return ret;
                }
 
                deb("Initialising remote control success\n");