[media] af9035: minor changes for af9035_fc0011_tuner_callback()
authorAntti Palosaari <crope@iki.fi>
Fri, 6 Apr 2012 00:52:21 +0000 (21:52 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 9 Apr 2012 17:56:20 +0000 (14:56 -0300)
Change function to use same logic than existing functions.
Debugs log writings are done in error case, earlier it was
just returning error code.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb/dvb-usb/af9035.c

index 9503b2d..e822706 100644 (file)
@@ -663,52 +663,68 @@ err:
 }
 
 static int af9035_fc0011_tuner_callback(struct dvb_usb_device *d,
-                                       int cmd, int arg)
+               int cmd, int arg)
 {
-       int err;
+       int ret;
 
        switch (cmd) {
        case FC0011_FE_CALLBACK_POWER:
                /* Tuner enable */
-               err = af9035_wr_reg_mask(d, 0xd8eb, 1, 1);
-               if (err)
-                       return err;
-               err = af9035_wr_reg_mask(d, 0xd8ec, 1, 1);
-               if (err)
-                       return err;
-               err = af9035_wr_reg_mask(d, 0xd8ed, 1, 1);
-               if (err)
-                       return err;
+               ret = af9035_wr_reg_mask(d, 0xd8eb, 1, 1);
+               if (ret < 0)
+                       goto err;
+
+               ret = af9035_wr_reg_mask(d, 0xd8ec, 1, 1);
+               if (ret < 0)
+                       goto err;
+
+               ret = af9035_wr_reg_mask(d, 0xd8ed, 1, 1);
+               if (ret < 0)
+                       goto err;
+
                /* LED */
-               err = af9035_wr_reg_mask(d, 0xd8d0, 1, 1);
-               if (err)
-                       return err;
-               err = af9035_wr_reg_mask(d, 0xd8d1, 1, 1);
-               if (err)
-                       return err;
+               ret = af9035_wr_reg_mask(d, 0xd8d0, 1, 1);
+               if (ret < 0)
+                       goto err;
+
+               ret = af9035_wr_reg_mask(d, 0xd8d1, 1, 1);
+               if (ret < 0)
+                       goto err;
+
                usleep_range(10000, 50000);
                break;
        case FC0011_FE_CALLBACK_RESET:
-               err = af9035_wr_reg(d, 0xd8e9, 1);
-               if (err)
-                       return err;
-               err = af9035_wr_reg(d, 0xd8e8, 1);
-               if (err)
-                       return err;
-               err = af9035_wr_reg(d, 0xd8e7, 1);
-               if (err)
-                       return err;
+               ret = af9035_wr_reg(d, 0xd8e9, 1);
+               if (ret < 0)
+                       goto err;
+
+               ret = af9035_wr_reg(d, 0xd8e8, 1);
+               if (ret < 0)
+                       goto err;
+
+               ret = af9035_wr_reg(d, 0xd8e7, 1);
+               if (ret < 0)
+                       goto err;
+
                usleep_range(10000, 20000);
-               err = af9035_wr_reg(d, 0xd8e7, 0);
-               if (err)
-                       return err;
+
+               ret = af9035_wr_reg(d, 0xd8e7, 0);
+               if (ret < 0)
+                       goto err;
+
                usleep_range(10000, 20000);
                break;
        default:
-               return -EINVAL;
+               ret = -EINVAL;
+               goto err;
        }
 
        return 0;
+
+err:
+       pr_debug("%s: failed=%d\n", __func__, ret);
+
+       return ret;
 }
 
 static int af9035_tuner_callback(struct dvb_usb_device *d, int cmd, int arg)