diff options
author | Chris Pascoe <c.pascoe@itee.uq.edu.au> | 2007-11-19 21:18:36 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-01-25 16:02:32 -0500 |
commit | 11a9eff9b66b1cf860faa84084328d798d18834c (patch) | |
tree | 785846860616e77692e1bed3da6f71a06dc4bbcb | |
parent | 47bd5bc6486a5288aa3002533c24c8e9e564f9ac (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.h | 2 | ||||
-rw-r--r-- | drivers/media/video/tuner-xc2028.c | 4 |
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++) { |