mirror of https://gitee.com/openkylin/linux.git
[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>
This commit is contained in:
parent
47677e51e2
commit
b45e34f2a6
|
@ -1543,6 +1543,9 @@ static inline void prevent_sleep(struct dvb_frontend_ops *ops)
|
||||||
|
|
||||||
static int em28xx_dvb_fini(struct em28xx *dev)
|
static int em28xx_dvb_fini(struct em28xx *dev)
|
||||||
{
|
{
|
||||||
|
struct em28xx_dvb *dvb;
|
||||||
|
struct i2c_client *client;
|
||||||
|
|
||||||
if (dev->is_audio_only) {
|
if (dev->is_audio_only) {
|
||||||
/* Shouldn't initialize IR for this interface */
|
/* Shouldn't initialize IR for this interface */
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1553,35 +1556,36 @@ static int em28xx_dvb_fini(struct em28xx *dev)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!dev->dvb)
|
||||||
|
return 0;
|
||||||
|
|
||||||
em28xx_info("Closing DVB extension");
|
em28xx_info("Closing DVB extension");
|
||||||
|
|
||||||
if (dev->dvb) {
|
dvb = dev->dvb;
|
||||||
struct em28xx_dvb *dvb = dev->dvb;
|
client = dvb->i2c_client_tuner;
|
||||||
struct i2c_client *client = dvb->i2c_client_tuner;
|
|
||||||
|
|
||||||
em28xx_uninit_usb_xfer(dev, EM28XX_DIGITAL_MODE);
|
em28xx_uninit_usb_xfer(dev, EM28XX_DIGITAL_MODE);
|
||||||
|
|
||||||
if (dev->disconnected) {
|
if (dev->disconnected) {
|
||||||
/* We cannot tell the device to sleep
|
/* We cannot tell the device to sleep
|
||||||
* once it has been unplugged. */
|
* once it has been unplugged. */
|
||||||
if (dvb->fe[0])
|
if (dvb->fe[0])
|
||||||
prevent_sleep(&dvb->fe[0]->ops);
|
prevent_sleep(&dvb->fe[0]->ops);
|
||||||
if (dvb->fe[1])
|
if (dvb->fe[1])
|
||||||
prevent_sleep(&dvb->fe[1]->ops);
|
prevent_sleep(&dvb->fe[1]->ops);
|
||||||
}
|
|
||||||
|
|
||||||
/* 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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue