From 59a636e50f339f91880b3a1e395829c43cc6541a Mon Sep 17 00:00:00 2001
From: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Date: Mon, 19 Nov 2007 10:23:17 -0300
Subject: [PATCH] V4L/DVB (6645): xc2028: allow selection of D2633 firmware

Add a bit to select D2633 DTV firmware to struct xc2028_ctrl, so that it can
be enabled via .set_config.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
---
 drivers/media/video/tuner-xc2028.c | 7 ++++---
 drivers/media/video/tuner-xc2028.h | 1 +
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/media/video/tuner-xc2028.c b/drivers/media/video/tuner-xc2028.c
index fbaab68fd05c..a5efd5f6e57c 100644
--- a/drivers/media/video/tuner-xc2028.c
+++ b/drivers/media/video/tuner-xc2028.c
@@ -665,9 +665,10 @@ static int check_firmware(struct dvb_frontend *fe, enum tuner_mode new_mode,
 	tuner_dbg("I should change bandwidth %u\n", change_digital_bandwidth);
 
 	if (change_digital_bandwidth) {
-
-		/*FIXME: Should allow selecting between D2620 and D2633 */
-		type |= D2620;
+		if (priv->ctrl.d2633)
+			type |= D2633;
+		else
+			type |= D2620;
 
 		/* FIXME: When should select a DTV78 firmware?
 		 */
diff --git a/drivers/media/video/tuner-xc2028.h b/drivers/media/video/tuner-xc2028.h
index a20eeb4935d0..4edc4b735c84 100644
--- a/drivers/media/video/tuner-xc2028.h
+++ b/drivers/media/video/tuner-xc2028.h
@@ -20,6 +20,7 @@ struct xc2028_ctrl {
 	enum xc2028_firm_type	type;
 	char			*fname;
 	int			max_len;
+	int			d2633:1;
 };
 
 struct xc2028_config {
-- 
GitLab