summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <m.chehab@samsung.com>2014-03-07 14:40:46 -0300
committerMauro Carvalho Chehab <m.chehab@samsung.com>2014-03-11 06:56:46 -0300
commitb45e34f2a6724042c068bf588322598c5ae435de (patch)
tree3dd4ba8556b266b8e0d631c1195810902f3f40d2 /drivers
parent47677e51e2a4040c204d7971a5103592600185b1 (diff)
downloadlinux-b45e34f2a6724042c068bf588322598c5ae435de.tar.gz
linux-b45e34f2a6724042c068bf588322598c5ae435de.tar.xz
[media] em28xx-dvb: remove one level of identation at fini callback
Simplify the logic a little by removing one level of identation. Also, it only makes sense to print something if the .fini callback is actually doing something. Reviewed-by: Frank Schäfer <fschaefer.oss@googlemail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/usb/em28xx/em28xx-dvb.c48
1 files changed, 26 insertions, 22 deletions
diff --git a/drivers/media/usb/em28xx/em28xx-dvb.c b/drivers/media/usb/em28xx/em28xx-dvb.c
index cacdca3a3412..6638394b3457 100644
--- a/drivers/media/usb/em28xx/em28xx-dvb.c
+++ b/drivers/media/usb/em28xx/em28xx-dvb.c
@@ -1543,6 +1543,9 @@ static inline void prevent_sleep(struct dvb_frontend_ops *ops)
static int em28xx_dvb_fini(struct em28xx *dev)
{
+ struct em28xx_dvb *dvb;
+ struct i2c_client *client;
+
if (dev->is_audio_only) {
/* Shouldn't initialize IR for this interface */
return 0;
@@ -1553,35 +1556,36 @@ static int em28xx_dvb_fini(struct em28xx *dev)
return 0;
}
- em28xx_info("Closing DVB extension");
+ if (!dev->dvb)
+ return 0;
- if (dev->dvb) {
- struct em28xx_dvb *dvb = dev->dvb;
- struct i2c_client *client = dvb->i2c_client_tuner;
+ em28xx_info("Closing DVB extension");
- em28xx_uninit_usb_xfer(dev, EM28XX_DIGITAL_MODE);
+ dvb = dev->dvb;
+ client = dvb->i2c_client_tuner;
- if (dev->disconnected) {
- /* We cannot tell the device to sleep
- * once it has been unplugged. */
- if (dvb->fe[0])
- prevent_sleep(&dvb->fe[0]->ops);
- if (dvb->fe[1])
- prevent_sleep(&dvb->fe[1]->ops);
- }
+ em28xx_uninit_usb_xfer(dev, EM28XX_DIGITAL_MODE);
- /* remove I2C tuner */
- if (client) {
- module_put(client->dev.driver->owner);
- i2c_unregister_device(client);
- }
+ if (dev->disconnected) {
+ /* We cannot tell the device to sleep
+ * once it has been unplugged. */
+ if (dvb->fe[0])
+ prevent_sleep(&dvb->fe[0]->ops);
+ if (dvb->fe[1])
+ prevent_sleep(&dvb->fe[1]->ops);
+ }
- em28xx_unregister_dvb(dvb);
- kfree(dvb);
- dev->dvb = NULL;
- kref_put(&dev->ref, em28xx_free_device);
+ /* remove I2C tuner */
+ if (client) {
+ module_put(client->dev.driver->owner);
+ i2c_unregister_device(client);
}
+ em28xx_unregister_dvb(dvb);
+ kfree(dvb);
+ dev->dvb = NULL;
+ kref_put(&dev->ref, em28xx_free_device);
+
return 0;
}