From: maxx <m...@spaceboyz.net>

This actually fixes region selection for BCM2048 FM receiver. To select
the japanese FM-band an additional bit in FM_CTRL register needs to be
set. This might not sound so important but it enables at least me to
listen to some 'very interesting' radio transmission below normal
FM-band.

Patch writen by m...@spaceboyz.net

Signed-off-by: Pali Rohár <pali.ro...@gmail.com>
Cc: m...@spaceboyz.net
---
 drivers/staging/media/bcm2048/radio-bcm2048.c |   13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/drivers/staging/media/bcm2048/radio-bcm2048.c 
b/drivers/staging/media/bcm2048/radio-bcm2048.c
index aeb6c3c..1482d4b 100644
--- a/drivers/staging/media/bcm2048/radio-bcm2048.c
+++ b/drivers/staging/media/bcm2048/radio-bcm2048.c
@@ -739,7 +739,20 @@ static int bcm2048_set_region(struct bcm2048_device *bdev, 
u8 region)
                return -EINVAL;
 
        mutex_lock(&bdev->mutex);
+
        bdev->region_info = region_configs[region];
+
+       bdev->cache_fm_ctrl &= ~BCM2048_BAND_SELECT;
+       if (region > 2) {
+               bdev->cache_fm_ctrl |= BCM2048_BAND_SELECT;
+               err = bcm2048_send_command(bdev, BCM2048_I2C_FM_CTRL,
+                                       bdev->cache_fm_ctrl);
+               if (err) {
+                       mutex_unlock(&bdev->mutex);
+                       goto done;
+               }
+       }
+
        mutex_unlock(&bdev->mutex);
 
        if (bdev->frequency < region_configs[region].bottom_frequency ||
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to