From: Antti Palosaari Date: Thu, 14 Jun 2012 05:44:47 +0000 (-0300) Subject: [media] dvb_usb_v2: attach tuners later X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=2cc53dc82868c8d425825dbfe6d6fbf6a972486d;p=openwrt%2Fstaging%2Fblogic.git [media] dvb_usb_v2: attach tuners later It is more than nice to have all those frontend pointers when attaching tuner to the frontend in question. Make that possible attaching tuners after dvb_register_frontend() Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/dvb/dvb-usb/dvb_usb_dvb.c b/drivers/media/dvb/dvb-usb/dvb_usb_dvb.c index f302e63a0d8f..6149236e4ef8 100644 --- a/drivers/media/dvb/dvb-usb/dvb_usb_dvb.c +++ b/drivers/media/dvb/dvb-usb/dvb_usb_dvb.c @@ -359,15 +359,6 @@ int dvb_usbv2_adapter_frontend_init(struct dvb_usb_adapter *adap) goto err; } - if (adap->dev->props->tuner_attach) { - ret = adap->dev->props->tuner_attach(adap); - if (ret < 0) { - pr_debug("%s: tuner_attach() failed=%d\n", __func__, - ret); - goto err_dvb_frontend_detach; - } - } - for (i = 0; i < MAX_NO_OF_FE_PER_ADAP && adap->fe[i]; i++) { adap->fe[i]->id = i; @@ -387,6 +378,15 @@ int dvb_usbv2_adapter_frontend_init(struct dvb_usb_adapter *adap) count_registered++; } + if (adap->dev->props->tuner_attach) { + ret = adap->dev->props->tuner_attach(adap); + if (ret < 0) { + pr_debug("%s: tuner_attach() failed=%d\n", __func__, + ret); + goto err_dvb_unregister_frontend; + } + } + adap->num_frontends_initialized = count_registered; return 0;