V4L/DVB (4391): Refactor dvb_detach calls into a single dvb_frontend_detach function.

Remove buggy dvb_detach() macro and replace with unified
dvb_frontend_detach() call.

Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Acked-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
diff --git a/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c b/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
index 6f58c66..2341998 100644
--- a/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
+++ b/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
@@ -1625,9 +1625,7 @@
 	} else {
 		if (dvb_register_frontend(&ttusb->adapter, ttusb->fe)) {
 			printk("dvb-ttusb-budget: Frontend registration failed!\n");
-			dvb_detach(ttusb->fe->ops.release_sec, ttusb->fe);
-			dvb_detach(ttusb->fe->ops.tuner_ops.release, ttusb->fe);
-			dvb_detach(ttusb->fe->ops.release, ttusb->fe);
+			dvb_frontend_detach(ttusb->fe);
 			ttusb->fe = NULL;
 		}
 	}
@@ -1766,9 +1764,7 @@
 	dvb_dmx_release(&ttusb->dvb_demux);
 	if (ttusb->fe != NULL) {
 		dvb_unregister_frontend(ttusb->fe);
-		dvb_detach(ttusb->fe->ops.release_sec, ttusb->fe);
-		dvb_detach(ttusb->fe->ops.tuner_ops.release, ttusb->fe);
-		dvb_detach(ttusb->fe->ops.release, ttusb->fe);
+		dvb_frontend_detach(ttusb->fe);
 	}
 	i2c_del_adapter(&ttusb->i2c_adap);
 	dvb_unregister_adapter(&ttusb->adapter);