From: Chris Pascoe Date: Tue, 20 Nov 2007 02:18:36 +0000 (-0300) Subject: V4L/DVB (6651): xc2028: mask off type correctly when searching for standard-specific... X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=11a9eff9b66b1cf860faa84084328d798d18834c;p=deliverable%2Flinux.git 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 Signed-off-by: Mauro Carvalho Chehab --- 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 @@ /* There's a FM | BASE firmware + FM specific firmware (std=0) */ #define FM (1<<10) +#define STD_SPECIFIC_TYPES (MTS|FM|LCD|NOGD) + /* Applies only for FM firmware Makes it use RF input 1 (pin #2) instead of input 2 (pin #4) */ 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, else if (type & SCODE) type &= SCODE_TYPES; else if (type & DTV_TYPES) - type = type & DTV_TYPES; + type &= DTV_TYPES; + else if (type & STD_SPECIFIC_TYPES) + type &= STD_SPECIFIC_TYPES; /* Seek for exact match */ for (i = 0; i < priv->firm_size; i++) {