summaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx231xx
diff options
context:
space:
mode:
authorDevin Heitmueller <dheitmueller@hauppauge.com>2010-08-19 10:55:05 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-10-21 01:17:33 -0200
commit8aed3f479bd25c8ba452c00585c8c261747f9143 (patch)
tree1e262d5dc643f30bcc3fb730eb8947b4a6ac4cff /drivers/media/video/cx231xx
parentb522591a4580b54430873784e1b956646d7970d9 (diff)
downloadop-kernel-dev-8aed3f479bd25c8ba452c00585c8c261747f9143.zip
op-kernel-dev-8aed3f479bd25c8ba452c00585c8c261747f9143.tar.gz
[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 76677cb..7ba3449 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,
status = restartAudioFirmware(dev);
- switch (dev->model) {
- case CX231XX_BOARD_CNXT_CARRAERA:
- case CX231XX_BOARD_CNXT_RDE_250:
- case CX231XX_BOARD_CNXT_SHELBY:
- case CX231XX_BOARD_CNXT_RDU_250:
- case CX231XX_BOARD_CNXT_VIDEO_GRABBER:
+ switch (dev->board.tuner_type) {
+ case TUNER_XC5000:
+ /* SIF passthrough at 28.6363 MHz sample rate */
status = cx231xx_read_modify_write_i2c_dword(dev,
VID_BLK_I2C_ADDRESS,
CHIP_CTRL,
FLD_SIF_EN,
cx231xx_set_field(FLD_SIF_EN, 1));
break;
- case CX231XX_BOARD_CNXT_RDE_253S:
- case CX231XX_BOARD_CNXT_RDU_253S:
- case CX231XX_BOARD_HAUPPAUGE_EXETER:
+ case TUNER_NXP_TDA18271:
+ /* Normal mode: SIF passthrough at 14.32 MHz */
status = cx231xx_read_modify_write_i2c_dword(dev,
VID_BLK_I2C_ADDRESS,
CHIP_CTRL,
@@ -1197,6 +1193,10 @@ int cx231xx_set_audio_decoder_input(struct cx231xx *dev,
cx231xx_set_field(FLD_SIF_EN, 0));
break;
default:
+ /* This is just a casual suggestion to people adding
+ new boards in case they use a tuner type we don't
+ currently know about */
+ printk(KERN_INFO "Unknown tuner type configuring SIF");
break;
}
break;
OpenPOWER on IntegriCloud