[PATCH] dvb: nxt200x: Add function for nxt200x to change pll input

- Added function for nxt200x to change pll input
- For VSB set to input 0, for QAM set to input 1
- will only be set for cards that have set_pll_input defined

Signed-off-by: Kirk Lapray <kirk.lapray@gmail.com>
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
diff --git a/drivers/media/dvb/frontends/nxt200x.c b/drivers/media/dvb/frontends/nxt200x.c
index 4cffe7a..bad0933 100644
--- a/drivers/media/dvb/frontends/nxt200x.c
+++ b/drivers/media/dvb/frontends/nxt200x.c
@@ -556,13 +556,18 @@
 			if (state->config->set_ts_params)
 				state->config->set_ts_params(fe, 1);
 
-			/* set to use cable input */
-			buf[3] |= 0x08;
+			/* set input */
+			if (state->config->set_pll_input)
+				state->config->set_pll_input(buf, 1);
 			break;
 		case VSB_8:
 			/* Set non-punctured clock for VSB */
 			if (state->config->set_ts_params)
 				state->config->set_ts_params(fe, 0);
+
+			/* set input */
+			if (state->config->set_pll_input)
+				state->config->set_pll_input(buf, 0);
 			break;
 		default:
 			return -EINVAL;
diff --git a/drivers/media/dvb/frontends/nxt200x.h b/drivers/media/dvb/frontends/nxt200x.h
index 8dc3f03..1d9d70b 100644
--- a/drivers/media/dvb/frontends/nxt200x.h
+++ b/drivers/media/dvb/frontends/nxt200x.h
@@ -42,6 +42,9 @@
 	u8 pll_address;
 	struct dvb_pll_desc *pll_desc;
 
+	/* used to set pll input */
+	int (*set_pll_input)(u8* buf, int input);
+
 	/* need to set device param for start_dma */
 	int (*set_ts_params)(struct dvb_frontend* fe, int is_punctured);
 };