aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx231xx
diff options
context:
space:
mode:
authorDevin Heitmueller <dheitmueller@hauppauge.com>2010-08-19 09:55:05 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-10-20 23:17:33 -0400
commit8aed3f479bd25c8ba452c00585c8c261747f9143 (patch)
tree1e262d5dc643f30bcc3fb730eb8947b4a6ac4cff /drivers/media/video/cx231xx
parentb522591a4580b54430873784e1b956646d7970d9 (diff)
[media] cx231xx: Make the DIF configuration based on the tuner not the board id
The current code was deciding whether a DIF was present based on the board profile. However, this is just another thing for someone to get wrong when adding new boards. Make the decision based on the tuner instead, so that a developer adding new boards only needs to specify which tuner the device has. Of course, the first time somebody adds a board with a tuner other than xc5000 or tda18271, he/she will need to add another line for that tuner. But we provide a friendly message in dmesg to let them know that. Signed-off-by: Devin Heitmueller <dheitmueller@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/cx231xx')
-rw-r--r--drivers/media/video/cx231xx/cx231xx-avcore.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/media/video/cx231xx/cx231xx-avcore.c b/drivers/media/video/cx231xx/cx231xx-avcore.c
index 76677cb17908..7ba3449b87e4 100644
--- a/drivers/media/video/cx231xx/cx231xx-avcore.c
+++ b/drivers/media/video/cx231xx/cx231xx-avcore.c
@@ -1175,21 +1175,17 @@ int cx231xx_set_audio_decoder_input(struct cx231xx *dev,
1175 1175
1176 status = restartAudioFirmware(dev); 1176 status = restartAudioFirmware(dev);
1177 1177
1178 switch (dev->model) { 1178 switch (dev->board.tuner_type) {
1179 case CX231XX_BOARD_CNXT_CARRAERA: 1179 case TUNER_XC5000:
1180 case CX231XX_BOARD_CNXT_RDE_250: 1180 /* SIF passthrough at 28.6363 MHz sample rate */
1181 case CX231XX_BOARD_CNXT_SHELBY:
1182 case CX231XX_BOARD_CNXT_RDU_250:
1183 case CX231XX_BOARD_CNXT_VIDEO_GRABBER:
1184 status = cx231xx_read_modify_write_i2c_dword(dev, 1181 status = cx231xx_read_modify_write_i2c_dword(dev,
1185 VID_BLK_I2C_ADDRESS, 1182 VID_BLK_I2C_ADDRESS,
1186 CHIP_CTRL, 1183 CHIP_CTRL,
1187 FLD_SIF_EN, 1184 FLD_SIF_EN,
1188 cx231xx_set_field(FLD_SIF_EN, 1)); 1185 cx231xx_set_field(FLD_SIF_EN, 1));
1189 break; 1186 break;
1190 case CX231XX_BOARD_CNXT_RDE_253S: 1187 case TUNER_NXP_TDA18271:
1191 case CX231XX_BOARD_CNXT_RDU_253S: 1188 /* Normal mode: SIF passthrough at 14.32 MHz */
1192 case CX231XX_BOARD_HAUPPAUGE_EXETER:
1193 status = cx231xx_read_modify_write_i2c_dword(dev, 1189 status = cx231xx_read_modify_write_i2c_dword(dev,
1194 VID_BLK_I2C_ADDRESS, 1190 VID_BLK_I2C_ADDRESS,
1195 CHIP_CTRL, 1191 CHIP_CTRL,
@@ -1197,6 +1193,10 @@ int cx231xx_set_audio_decoder_input(struct cx231xx *dev,
1197 cx231xx_set_field(FLD_SIF_EN, 0)); 1193 cx231xx_set_field(FLD_SIF_EN, 0));
1198 break; 1194 break;
1199 default: 1195 default:
1196 /* This is just a casual suggestion to people adding
1197 new boards in case they use a tuner type we don't
1198 currently know about */
1199 printk(KERN_INFO "Unknown tuner type configuring SIF");
1200 break; 1200 break;
1201 } 1201 }
1202 break; 1202 break;