aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Pascoe <c.pascoe@itee.uq.edu.au>2007-11-19 21:18:36 -0500
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-01-25 16:02:32 -0500
commit11a9eff9b66b1cf860faa84084328d798d18834c (patch)
tree785846860616e77692e1bed3da6f71a06dc4bbcb
parent47bd5bc6486a5288aa3002533c24c8e9e564f9ac (diff)
V4L/DVB (6651): xc2028: mask off type correctly when searching for standard-specific types
When searching for standard-specific analog firmware, only certain type bits are valid, much like for DTV. Mask them off when finding the firmware to load. Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r--drivers/media/video/tuner-xc2028-types.h2
-rw-r--r--drivers/media/video/tuner-xc2028.c4
2 files changed, 5 insertions, 1 deletions
diff --git a/drivers/media/video/tuner-xc2028-types.h b/drivers/media/video/tuner-xc2028-types.h
index 6cee48193c47..c0dc6ec19f09 100644
--- a/drivers/media/video/tuner-xc2028-types.h
+++ b/drivers/media/video/tuner-xc2028-types.h
@@ -43,6 +43,8 @@
43/* There's a FM | BASE firmware + FM specific firmware (std=0) */ 43/* There's a FM | BASE firmware + FM specific firmware (std=0) */
44#define FM (1<<10) 44#define FM (1<<10)
45 45
46#define STD_SPECIFIC_TYPES (MTS|FM|LCD|NOGD)
47
46/* Applies only for FM firmware 48/* Applies only for FM firmware
47 Makes it use RF input 1 (pin #2) instead of input 2 (pin #4) 49 Makes it use RF input 1 (pin #2) instead of input 2 (pin #4)
48 */ 50 */
diff --git a/drivers/media/video/tuner-xc2028.c b/drivers/media/video/tuner-xc2028.c
index 115738d75f3e..5b646fed340f 100644
--- a/drivers/media/video/tuner-xc2028.c
+++ b/drivers/media/video/tuner-xc2028.c
@@ -403,7 +403,9 @@ static int seek_firmware(struct dvb_frontend *fe, unsigned int type,
403 else if (type & SCODE) 403 else if (type & SCODE)
404 type &= SCODE_TYPES; 404 type &= SCODE_TYPES;
405 else if (type & DTV_TYPES) 405 else if (type & DTV_TYPES)
406 type = type & DTV_TYPES; 406 type &= DTV_TYPES;
407 else if (type & STD_SPECIFIC_TYPES)
408 type &= STD_SPECIFIC_TYPES;
407 409
408 /* Seek for exact match */ 410 /* Seek for exact match */
409 for (i = 0; i < priv->firm_size; i++) { 411 for (i = 0; i < priv->firm_size; i++) {